tag:blogger.com,1999:blog-11429053235577756802024-03-11T08:54:17.077+05:30Help yourself here...We try to put solutions for the problems you would face in your daily life of being a developer. Keep visiting this website regularly...Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.comBlogger143125tag:blogger.com,1999:blog-1142905323557775680.post-83096346456378461992021-07-19T20:37:00.002+05:302021-07-19T20:37:45.523+05:30Installing MySQL in MacOS w/ Docker<p> </p><h1 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 24px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.25; margin: 10px 0px 20px; padding: 0px;">Installing MySQL in macOS</h1><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Installing MySQL in macOS is sometimes a pain. Especially, setting up the <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">root</code> user with user defined <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">password</code>. And most of the time after lots of retries we end up with lot of garbage folders and services which can block the updates and upgrade of MySQL over the time.</p><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Below are some steps that I followed to have MySQL as a Docker Container to avoid all hassles that installing it in macOS can cause.</p><h2 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 20px; font-weight: 500; letter-spacing: -0.008em; line-height: 1.5; margin: 10px 0px 20px; padding: 0px;">Installing a MySQL Docker Container</h2><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Setting up a database in Docker is simply building a container based on a MySQL image. Follow the steps outlined below to get your MySQL container up and running.</p><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Step 1: Pull the MySQL Docker Image</h3><ol style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Start by pulling the appropriate Docker image for MySQL. You can download a specific version or opt for the latest release as seen in the following command:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker pull mysql/mysql-server:latest
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;"><code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">If you want a particular version of MySQL, replace latest with the version number.</code></p><ol start="2" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Verify the image is now stored locally by listing the downloaded Docker images:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker images
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">The output should include <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">mysql/mysql-server</code> among the listed images.</p><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Step 2: Deploy the MySQL Container</h3><ol style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Once you have the image, move on to deploying a new MySQL container with:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker run <span class="cm-attribute" style="color: #336ea9;">-p</span> <span class="cm-number" style="color: #127b27;">3306</span>:3306 <span class="cm-attribute" style="color: #336ea9;">-p</span> <span class="cm-number" style="color: #127b27;">33060</span>:33060 <span class="cm-attribute" style="color: #336ea9;">--name</span><span class="cm-operator" color="inherit">=</span>mysql-service <span class="cm-attribute" style="color: #336ea9;">-e</span> <span class="cm-def" style="color: #336ea9;">MYSQL_ROOT_PASSWORD</span><span class="cm-operator" color="inherit">=</span>MyPassword1234 <span class="cm-attribute" style="color: #336ea9;">-d</span> <span class="cm-attribute" style="color: #336ea9;">--restart</span> unless-stopped mysql/mysql-server:latest
</code></pre><ul style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Replace <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">--name=mysql-service</code> with the name of your choice. And replace <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">-e MYSQL_ROOT_PASSWORD=MyPassword1234</code> with the password of your choice If you do not provide a name, Docker generates a random one.</li><li>The -d option instructs Docker to run the container as a service in the background.</li><li>In the command above, we used the latest version tag. This may differ according to the image you downloaded.</li></ul><ol start="2" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Then, check to see if the MySQL container is running:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">ps</span>
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">You should see the newly created container listed in the output. It includes container details, one being the status of this virtual environment. The status changes from <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">health: starting</code> to <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">healthy</code>, once the setup is complete.</p><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Step 3: Connect to the MySQL Docker Container</h3><ol style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Before you can connect the MySQL server container with the host, you need to make sure the MySQL client package is installed:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">brew install mysql-client
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;"><code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">For macOS, I would like to use</code> <a href="https://brew.sh/" style="color: #0052cc; text-decoration-line: none;">Homebrew</a> <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">package manager.</code></p><ol start="2" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Then, start a MySQL client inside the container by typing:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker exec <span class="cm-attribute" style="color: #336ea9;">-it</span> mysql-service mysql <span class="cm-attribute" style="color: #336ea9;">-uroot</span> <span class="cm-attribute" style="color: #336ea9;">-pMyPassword1234</span>
</code></pre><ol start="3" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>To avoid typing the password in the command you can run below command:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker exec <span class="cm-attribute" style="color: #336ea9;">-it</span> mysql-service mysql <span class="cm-attribute" style="color: #336ea9;">-uroot</span> <span class="cm-attribute" style="color: #336ea9;">-p</span>
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Provide the root password, when prompted. With that, you have connected the MySQL client to the server.</p><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Start, Stop, and Restart MySQL Container</h3><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">The container automatically stops when the process running in it stops.</p><ul style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>To start the MySQL container run:</li></ul><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">start</span> mysql-service
</code></pre><ul style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Stop the MySQL container, use the command:</li></ul><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">stop</span> mysql-service
</code></pre><ul style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>To restart the MySQL container run:</li></ul><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">restart</span> mysql-service
</code></pre><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Delete MySQL Container</h3><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Before deleting a MySQL container, make sure you stop it first.</p><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Then, remove the docker container with:</p><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">rm</span> mysql-service
</code></pre><h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 16px; letter-spacing: -0.006em; line-height: 1.25; margin: 10px 0px; padding: 0px;">Resources</h3><ul style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li><a href="https://hub.docker.com/_/mysql" style="color: #0052cc; text-decoration-line: none;">MySQL Docker Container Image from DockerHub</a></li><li><a href="https://phoenixnap.com/kb/mysql-docker-container" style="color: #0052cc; text-decoration-line: none;">Blog</a></li></ul><div><h1 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 24px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.25; margin: 10px 0px 20px; padding: 0px;">Using MySQL Workbench with Containerized MySQL Service</h1><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">By default after deployment MySQL has following connection restrictions:</p><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="SQL" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">mysql<span class="cm-operator" color="inherit">></span> <span class="cm-keyword" style="color: #815b3a;">select</span> host<span class="cm-punctuation">,</span> user <span class="cm-keyword" style="color: #815b3a;">from</span> mysql<span class="cm-variable-2" color="inherit">.user</span><span class="cm-punctuation">;</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
<span class="cm-operator" color="inherit">|</span> host <span class="cm-operator" color="inherit">|</span> user <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> healthchecker <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> mysql<span class="cm-variable-2" color="inherit">.session</span> <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> mysql<span class="cm-variable-2" color="inherit">.sys</span> <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> root <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
<span class="cm-number" style="color: #127b27;">4</span> rows <span class="cm-keyword" style="color: #815b3a;">in</span> <span class="cm-keyword" style="color: #815b3a;">set</span> <span class="cm-bracket" style="color: #815b3a;">(</span><span class="cm-number" style="color: #127b27;">0.00</span> sec<span class="cm-bracket" style="color: #815b3a;">)</span>
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">For security purpose you will not be able to connect to it outside of the docker image. If you need to change that to allow root to connect from any host then follow these steps:</p><ol style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Start the mysql image with all port mappings required:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="cmd" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker run -p 3306:3306 -p 33060:33060 --name= mysql-service -e MYSQL_ROOT_PASSWORD=MyPassword1234 -d --restart unless-stopped mysql/mysql-server:latest
</code></pre><ol start="2" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Connect using <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">mysql</code> client directly to the mysqld in docker:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker exec <span class="cm-attribute" style="color: #336ea9;">-it</span> mysql-service mysql <span class="cm-attribute" style="color: #336ea9;">-uroot</span> <span class="cm-attribute" style="color: #336ea9;">-pMyPassword1234</span>
</code></pre><ol start="3" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Run SQL:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="SQL" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;"><span class="cm-keyword" style="color: #815b3a;">UPDATE</span> mysql<span class="cm-variable-2" color="inherit">.user</span> <span class="cm-keyword" style="color: #815b3a;">SET</span> host <span class="cm-operator" color="inherit">=</span> <span class="cm-string" style="color: #c03e32;">'%'</span> <span class="cm-keyword" style="color: #815b3a;">WHERE</span> user<span class="cm-operator" color="inherit">=</span><span class="cm-string" style="color: #c03e32;">'root'</span><span class="cm-punctuation">;</span>
</code></pre><ol start="4" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;"><li>Quit the <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">mysql</code> client.</li><li>Restart the container:</li></ol><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="sh" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">docker <span class="cm-builtin" style="color: #336ea9;">restart</span> mysql-service
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">Now we can connect the mysql service with MySQL Workbench. To connect use:</p><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;">host:0.0.0.0
port:3306
password:MyPassword1234
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">After all the changes the query it will show:</p><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="SQL" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;"><span class="cm-keyword" style="color: #815b3a;">select</span> host<span class="cm-punctuation">,</span> user <span class="cm-keyword" style="color: #815b3a;">from</span> mysql<span class="cm-variable-2" color="inherit">.user</span><span class="cm-punctuation">;</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
<span class="cm-operator" color="inherit">|</span> host <span class="cm-operator" color="inherit">|</span> user <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
<span class="cm-operator" color="inherit">|</span> <span class="cm-operator" color="inherit">%</span> <span class="cm-operator" color="inherit">|</span> root <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> healthchecker <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> mysql<span class="cm-variable-2" color="inherit">.session</span> <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">|</span> localhost <span class="cm-operator" color="inherit">|</span> mysql<span class="cm-variable-2" color="inherit">.sys</span> <span class="cm-operator" color="inherit">|</span>
<span class="cm-operator" color="inherit">+-----------+---------------+</span>
</code></pre><p style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 0px 0px; padding: 0px;">If there is an error connecting to mysql service containing the following message, "<i><b>Authentication plugin 'caching_sha2_password' cannot be loaded</b></i>", please run the following SQL command.</p><pre style="background-color: white; color: #172b4d; font-size: 14px; margin-bottom: 0px; margin-top: 10px; padding: 0px;"><code data-language="SQL" style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;"><span class="cm-keyword" style="color: #815b3a;">ALTER</span> USER <span class="cm-string" style="color: #c03e32;">'yourusername'</span>@<span class="cm-string" style="color: #c03e32;">'localhost'</span> IDENTIFIED WITH mysql_native_password <span class="cm-keyword" style="color: #815b3a;">BY</span> <span class="cm-string" style="color: #c03e32;">'youpassword'</span><span class="cm-punctuation">;</span></code></pre></div>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-38127255424786115472021-03-06T02:31:00.000+05:302021-03-06T02:31:01.096+05:30Postman Pre-Request: How to get Auth Token at Collection level?<h3 style="text-align: left;"><span style="font-family: arial;">Prerequisite:</span></h3><p><span style="font-family: arial;">You need latest Postman application installed.</span></p><p><span style="font-family: arial;">You can download Postman application <a href="https://www.postman.com/downloads/" rel="nofollow" target="_blank">from here</a>.</span></p><h3 style="text-align: left;"><span style="font-family: arial;">Steps:</span></h3><div><ul style="text-align: left;"><li><span style="font-family: arial;">Create a new collection.</span></li><li><span style="font-family: arial;">Open the collection and click on <b>Pre-request Script</b>.</span></li><li><span style="font-family: arial;">Paste below code there:</span></li></ul></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div style="background-color: white; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; text-align: left; white-space: pre;"><div style="line-height: 18px;"><div>pm.sendRequest({</div><div> url: [AUTH_TOKEN_URL],</div><div> method: <span style="color: #a31515;">'POST'</span>,</div><div> header: {</div><div> <span style="color: #a31515;">'Content-Type'</span>: <span style="color: #a31515;">'application/x-www-form-urlencoded'</span>,</div><div> },</div><div> body: {</div><div> mode: <span style="color: #a31515;">'urlencoded'</span>,</div><div> urlencoded: [</div><div> { key: <span style="color: #a31515;">"client_id"</span>, value: [CLIENT_ID_VALUE] },</div><div> { key: <span style="color: #a31515;">"client_secret"</span>, value: [CLIENT_SECRET_VALUE] },</div><div> { key: <span style="color: #a31515;">"resource"</span>, value: [RESOURCE_VALUE] },</div><div> { key: <span style="color: #a31515;">"grant_type"</span>, value: [GRANT_TYPE_VALUE] }</div><div> ]</div><div> }</div><div>}, <span style="color: blue;">function</span> (err, response) {</div><div> <span style="color: blue;">if</span> (<span style="color: blue;">null</span> != err) {</div><div> <span style="color: blue;">const</span> jsonResponse = response.json();</div><div> <span style="color: green;">// Save token to env variable.</span></div><div> pm.environment.set(<span style="color: #a31515;">'env_auth_token'</span>, jsonResponse.token);</div><div> } <span style="color: blue;">else</span> {</div><div> console.log(<span style="color: #a31515;">"Cannot fetch Auth token"</span>);</div><div> pm.environment.set(<span style="color: #a31515;">'env_auth_token'</span>, <span style="color: #a31515;">''</span>);</div><div> }</div><div>});</div></div></div></blockquote></blockquote><div><span style="font-family: arial;"><br /></span></div><div><ul style="text-align: left;"><li><span style="font-family: arial;">Replace all values as per your requirements.</span></li></ul></div>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-56164291032974125262020-01-10T22:16:00.001+05:302020-01-10T22:18:15.692+05:30How to squash commits in feature branch?<h2 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.25; margin: 10px 0px 20px; padding: 0px;">
<span style="font-size: 14px;">Before we move forward, lets make one thing clear:</span></h2>
<h2 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.25; margin: 10px 0px 20px; padding: 0px;">
<strong style="font-size: 14px;"><em>WE SHOULD NOT SQUASH COMMITS IN LONG-LIVED BRANCHES SUCH AS <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">MASTER</code> OR <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">DEVELOP</code> OR <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">RELEASE</code>. SQUASHING COMMITS ARE ACCEPTABLE ONLY ON <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">FEATURE</code> BRANCHES.</em></strong></h2>
<h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 20px; line-height: 1.5; margin: 10px 0px; padding: 0px;">
When should you squash the commits in your <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">feature</code> branch?</h3>
<div style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-top: 10px; padding: 0px;">
To keep our long-lived branches (such as <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">master</code> or <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">develop</code> or <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">release</code>) clean, we may need to squash commits in our <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">feature</code> branch before we merge it into these long-lived branches.</div>
<div style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-top: 10px; padding: 0px;">
<strong><em>IT IS NOT MANDATORY</em></strong> but can be required based on a TEAM's guidelines.</div>
<h3 style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 20px; line-height: 1.5; margin: 10px 0px; padding: 0px;">
How to Squash commits in existing PR?</h3>
<div style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-top: 10px; padding: 0px;">
There might be a case where we need to squash the commits pushed to the <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">feature</code> branch for which a PR already exit. Here are the steps to squash all commits in the <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">local feature branch</code> and <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">force</code> update the respective origin branch:</div>
<ol style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;">
<li>Checkout the feature branch you want to squash. Lets say branch name is <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">feature/ticket-number-branch-name</code></li>
<li>Make sure there are no un-staged files pending to be committed.</li>
<li>Use <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">gitk</code> or <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">git log</code> to identify the number of commits need to be squashed from the HEAD. Lets say it is <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">5</code>.</li>
<li>Run rebase command:</li>
</ol>
<pre style="background-color: white; color: #172b4d; font-size: 14px; margin-top: 10px; padding: 0px;"><code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;"> git rebase -i HEAD~5
</code></pre>
<ol start="5" style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin: 10px 30px; padding: 0px;">
<li>Replace <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">pick</code> with <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">s</code> or <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">squash</code> from commit number 2 to 5.</li>
<li>Close and save.</li>
<li>Delete all unwanted comments in your squashed commit.</li>
<li>Use <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">gitk</code> to check if all commits has been squashed into one.</li>
<li>Now force push to <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">origin</code> branch. Use following command:</li>
</ol>
<pre style="background-color: white; color: #172b4d; font-size: 14px; margin-top: 10px; padding: 0px;"><code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: block; font-size: 12px; line-height: 18px; margin: 0px 2px -1px; overflow: auto; padding: 6px 10px; text-decoration: inherit; vertical-align: baseline;"> git push origin +feature/ticket-number-branch-name
</code></pre>
<div style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-top: 10px; padding: 0px;">
In <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">Step #9</code> we use <code style="background-clip: padding-box; background-color: #f4f5f7; border-radius: 3px; border: 1px solid rgb(223, 225, 230); display: inline-block; margin: 0px 2px -1px; padding: 0px 3px; text-decoration: inherit; vertical-align: baseline;">+</code> to force update the origin branch. Doing this we will be able to maintain all your PR comments and history.</div>
<div style="background-color: white; color: #172b4d; font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-top: 10px; padding: 0px;">
It is recommended to squash commits before merging branch into master.</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-42604876517212950522019-12-10T04:49:00.001+05:302019-12-10T04:49:08.314+05:30Remap “Home” and “End” to beginning and end of line<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
The default shortcuts for moving to beginning or end of (wrapped) lines are <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌘</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">←</kbd> and <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌘</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">→</kbd>. <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌥</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">↑</kbd> and <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌥</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">↓</kbd> or <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌃</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">A</kbd> and <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌃</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">E</kbd> move to the beginning or end of unwrapped lines (or paragraphs). <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌥</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">←</kbd> and <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">⌥</kbd><kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">→</kbd> move backwards/forward by words, and all of these are compatible with holding <kbd style="background-color: #e1e3e5; border-radius: 3px; border: 1px solid rgb(173, 179, 185); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;">Shift</kbd> to select during the corresponding moves.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
You could remap home and end by creating <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">~/Library/KeyBindings/</code> and saving a property list like this as <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">DefaultKeyBinding.dict</code>:</div>
<pre style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">{
"\UF729" = moveToBeginningOfLine:; // home
"\UF72B" = moveToEndOfLine:; // end
"$\UF729" = moveToBeginningOfLineAndModifySelection:; // shift-home
"$\UF72B" = moveToEndOfLineAndModifySelection:; // shift-end
}
</code></pre>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Most of the keybindings for editing text in OS X are defined in <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">/System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict</code>.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Applying changes requires reopening applications. DefaultKeyBinding.dict is ignored by some old versions of Xcode (works with latest version 6.3.1), Terminal, and many cross-platform applications.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
See <a href="http://www.hcs.harvard.edu/~jrus/site/cocoa-text.html" rel="noreferrer" style="border: 0px; box-sizing: inherit; color: rgba(0, 138, 214, 0.8); cursor: pointer; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Cocoa Text System</a> and <a href="http://osxnotes.net/keybindings.html" rel="noreferrer" style="border: 0px; box-sizing: inherit; color: rgba(0, 138, 214, 0.8); cursor: pointer; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">my website</a> for more information about the customizable keybindings.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Terminal's keybindings can be customized in Preferences > Settings > Keyboard. <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">\033OH</code> moves to the beginning of a line and <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">\033OF</code> to the end of a line.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
In Eclipse, key bindings should be modified in Preferences > General > Keys. You need to modify default bindings for commands <em style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Line Start</em> and <em style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Line End</em> (replace ⌘← by ↖ and ⌘→ by ↘). For selection to work, also modify <em style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Select Line Start</em> and <em style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Select Line End</em>.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
PS: You may need to <strong style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">logout and login again</strong> for the <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">~/Library/KeyBindings/DefaultKeyBinding.dict</code> change to take effect.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Answer has been take from <a href="https://apple.stackexchange.com/a/16137/296902" target="_blank">here</a>.</div>
<div style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
More functionality can be found <a href="http://xahlee.info/kbd/osx_keybinding.html" target="_blank">here</a>.</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-52330235837162230322019-11-27T00:38:00.000+05:302019-11-27T02:12:36.211+05:30How to trim spaces, new line and return line characters in Go language?I have answered this in StackOverflow too.<br />
Please <a href="https://stackoverflow.com/a/59057802/1184206" rel="nofollow" target="_blank">visit the answer</a>.<br />
<br />
<a href="https://play.golang.org/p/RFrQCSEiIFi" target="_blank">Here</a> is the solutions:<br />
<br />
<script src="https://gist.github.com/SiddharthMishraPersonal/54ccf3732e8b74fc1910f9d4dc2e4a98.js"></script>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-35149777039542955682019-08-05T20:55:00.000+05:302019-08-05T20:55:12.630+05:30Delete node_modules folder recursively from a specified path using command line.<div class="post-text" itemprop="text" style="border: 0px; box-sizing: inherit; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.3; margin: 0px 0px 5px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; width: 672px;">
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Answers from StackOverflow. <a href="https://stackoverflow.com/questions/42950501/delete-node-modules-folder-recursively-from-a-specified-path-using-command-line" rel="nofollow" target="_blank">Click here for the whole discussion thread</a>.</div>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Print out a list of directories to be deleted:</div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'node_modules'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune</span></code></pre>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Delete directories from the current working directory:</div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'node_modules'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">exec rm </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">rf </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'{}'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">+</span></code></pre>
<hr style="background-color: #d6d9dc; border: 0px; box-sizing: inherit; color: #d6d9dc; height: 1px; margin-bottom: 20px;" />
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Alternatively, you can use <a href="https://github.com/sindresorhus/trash-cli" rel="noreferrer" style="border: 0px; box-sizing: inherit; color: #005999; cursor: pointer; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">trash</a> (<code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">brew install trash</code>) for staged deletion:</div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name node_modules </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">exec trash </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">{}</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">+</span></code></pre>
</div>
<div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy" style="align-items: flex-start !important; border: 0px; box-sizing: inherit; display: flex; flex-wrap: wrap !important; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; justify-content: flex-end !important; line-height: inherit; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: -4px; padding: 0px; vertical-align: baseline;">
<br /><time datetime="2017-04-22T15:29:02" itemprop="dateCreated" style="background-color: white; border: 0px; box-sizing: inherit; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></time></div>
<div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy" style="align-items: flex-start !important; border: 0px; box-sizing: inherit; display: flex; flex-wrap: wrap !important; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; justify-content: flex-end !important; line-height: inherit; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: -4px; padding: 0px; vertical-align: baseline;">
<div class="post-text" itemprop="text" style="border: 0px; box-sizing: inherit; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.3; margin: 0px 0px 5px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; width: 676px;">
<hr style="background-color: #d6d9dc; border: 0px; box-sizing: inherit; color: #d6d9dc; height: 1px; margin-bottom: 20px;" />
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
<span style="font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;">Another answer from StackOverflow,</span></div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'node_modules'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">exec rm </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">rf </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'{}'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">+</span></code></pre>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
I found that the command would run a very long time to fetch all folders and then run a delete command, to make the command resumable I'd suggest using <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">\;</code> and to see progress of the command being run use <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">-print</code> to see the directory being deleted.</div>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Note:</strong> You must first <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">cd</code> into the root directory and then run the command or instead of <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">find .</code> use <code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">find {project_directory}</code></div>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
To delete folders one by one</div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'node_modules'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">exec rm </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">rf </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'{}'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> \;</span></code></pre>
<div style="border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
To delete folders one by one and printing the folder being deleted</div>
<pre class="lang-sh prettyprint prettyprinted" style="background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">find </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">name </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'node_modules'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type d </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">prune </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">print </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">exec rm </span><span class="pun" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">-</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">rf </span><span class="str" style="border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">'{}'</span><span class="pln" style="border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> \;</span></code></pre>
</div>
<div class="grid mb0 fw-wrap ai-start jc-end gs8 gsy" style="align-items: flex-start !important; border: 0px; box-sizing: inherit; display: flex; flex-wrap: wrap !important; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; justify-content: flex-end !important; line-height: inherit; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: -4px; padding: 0px; vertical-align: baseline;">
<time datetime="2018-11-18T08:57:16" itemprop="dateCreated" style="background-color: white; border: 0px; box-sizing: inherit; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></time><div class="grid--cell mr16" style="background-color: white; border: 0px; box-sizing: inherit; color: #242729; flex: 1 1 100px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 4px 0px; padding: 0px; vertical-align: baseline;">
</div>
</div>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-56557005046023741482019-02-22T02:48:00.003+05:302019-02-22T02:48:50.550+05:30Uninstall MySql on a Mac OS X<h2 id="Summary" style="color: #2b2622; font-family: "Gotham A", "Gotham B"; font-size: 2em; font-weight: 100; line-height: 1.2em; margin: 0px 0px 0.5em; padding: 0px;">
Summary</h2>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
To completely uninstall MySql OS X it is neccessary to remove numerous files.</div>
<h2 id="Symptom" style="color: #2b2622; font-family: "Gotham A", "Gotham B"; font-size: 2em; font-weight: 100; line-height: 1.2em; margin: 0px 0px 0.5em; padding: 0px;">
Symptom</h2>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
You unable to install an older version of MySql even though you thought you have removed everything.</div>
<h2 id="Resolution" style="color: #2b2622; font-family: "Gotham A", "Gotham B"; font-size: 2em; font-weight: 100; line-height: 1.2em; margin: 0px 0px 0.5em; padding: 0px;">
Resolution</h2>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
To uninstall MySQL and completely remove it (including all databases) from your Mac do the following:</div>
<ul style="font-family: Arial, Helvetica, "Nimbus Sans L", FreeSans, sans-serif; font-size: 12px; margin: 0px 0px 1.5em 2em; padding: 0px;">
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;">Open a terminal window</li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;">Use mysqldump to backup your databases to text files!</li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;">Stop the database server</li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">/</span>usr<span style="color: #339933; margin: 0px; padding: 0px;">/</span>local<span style="color: #339933; margin: 0px; padding: 0px;">/</span>mysql</code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span>usr<span style="color: #339933; margin: 0px; padding: 0px;">/</span>local<span style="color: #339933; margin: 0px; padding: 0px;">/</span>mysql<span style="color: #339933; margin: 0px; padding: 0px;">*</span></code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span>Library<span style="color: #339933; margin: 0px; padding: 0px;">/</span>StartupItems<span style="color: #339933; margin: 0px; padding: 0px;">/</span>MySQLCOM</code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span>Library<span style="color: #339933; margin: 0px; padding: 0px;">/</span>PreferencePanes<span style="color: #339933; margin: 0px; padding: 0px;">/</span>My<span style="color: #339933; margin: 0px; padding: 0px;">*</span></code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><div style="margin-bottom: 1em; margin-top: 1em; padding: 0px;">
edit <em><strong>/etc/hostconfig</strong></em> and remove the line <em><strong>MYSQLCOM=-YES-</strong></em></div>
</li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf ~<span style="color: #339933; margin: 0px; padding: 0px;">/</span>Library<span style="color: #339933; margin: 0px; padding: 0px;">/</span>PreferencePanes<span style="color: #339933; margin: 0px; padding: 0px;">/</span>My<span style="color: #339933; margin: 0px; padding: 0px;">*</span></code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span>Library<span style="color: #339933; margin: 0px; padding: 0px;">/</span>Receipts<span style="color: #339933; margin: 0px; padding: 0px;">/</span>mysql<span style="color: #339933; margin: 0px; padding: 0px;">*</span></code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span>Library<span style="color: #339933; margin: 0px; padding: 0px;">/</span>Receipts<span style="color: #339933; margin: 0px; padding: 0px;">/</span>MySQL<span style="color: #339933; margin: 0px; padding: 0px;">*</span></code></span></li>
<li style="font-family: "Whitney SSm A", "Whitney SSm B"; line-height: 18px; margin: 0px; padding: 0px;"><span class="geshifilter" style="border: none; display: inline; margin: 0px; padding: 0px;"><code class="java geshifilter-java">sudo rm <span style="color: #339933; margin: 0px; padding: 0px;">-</span>rf <span style="color: #339933; margin: 0px; padding: 0px;">/</span><span style="font-weight: bold; margin: 0px; padding: 0px;">private</span><span style="color: #339933; margin: 0px; padding: 0px;">/</span>var<span style="color: #339933; margin: 0px; padding: 0px;">/</span>db<span style="color: #339933; margin: 0px; padding: 0px;">/</span>receipts<span style="color: #666666; font-style: italic; margin: 0px; padding: 0px;">/*mysql*</span></code></span></li>
</ul>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
The last three lines are particularly important as otherwise, you can't install an older version of MySQL even though you think that you've completely deleted the newer version!</div>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
<br /></div>
<div style="font-family: "Whitney SSm A", "Whitney SSm B"; font-size: 12px; margin-bottom: 1em; margin-top: 1em; padding: 0px;">
Taken from: https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-51316319450583268192019-02-22T02:47:00.004+05:302019-02-22T03:00:39.205+05:30Installing Heidisql on macOS1. First, install wine:<br />
<br />
brew cask install java xquartz<br />
brew install wine<br />
<br />
2. Now, install winetricks:<br />
<br />
brew install winetricks<br />
<br />
<br />
3. Now, install Microsoft Data Access Components<br />
<br />
winetricks dlls mdac28<br />
<br />
4. Download Heidisql.<br />
http://www.heidisql.com/download.php<br />
<br />
5. Install Heidisql with wine command:<br />
wine HeidiSQL_10.1.0.5464_Setup.exe<br />
<br />
6. Start the application from from:<br />
"/usr/local/bin/wine ~/.wine/drive_c/Program\\ Files/HeidiSQL/heidisql.exe"<br />
<br />
or create an icon for your docker with the apple script editor<br />
<br />
tell application "Terminal"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>do script "/usr/local/bin/wine ~/.wine/drive_c/Program\\ Files/HeidiSQL/heidisql.exe"<br />
end tell<br />
<br />
Open up the Script Editor. You should see a window with a large area you can type in near the top: this is where you write your AppleScript. In that area, type the following text:<br />
<br />
tell application "Terminal"<br />
do script "/usr/local/bin/wine ~/.wine/drive_c/Program\\ Files/$PATH_TO_PROGRAM.exe"<br />
end tell<br />
<br />
You'll need to replace $PATH_TO_PROGRAM with the path from the Program Files directory to your program executable. You can see that you're simply telling the AppleScript to run a line of code in the Terminal: the same line of code that you could run to start your Windows program.<br />
<br />
Next, press the Compile button at the top of the window. The text should become colored to indicate that Script Editor understands what you wrote. You can also try pressing the Run button to run your script: it should open the Windows program successfully.<br />
<br />
Lastly, save your script. You can give it whatever name you'd like, but be sure to select File Format: Application in the save options, and leave Startup Screen unchecked.<br />
<br />
Open up the Finder, go to where you saved your script, and drag that file to your Dock. It should stay there, just like a real application -- because it is a real application! However, all it does is run that launcher command for you, so you can move the application around, rename it, or even delete it, and it won't affect the Windows program that you're running.<br />
<br />
More details: https://www.davidbaumgold.com/tutorials/wine-mac/<br />
<br />
<br />
<span style="font-size: xx-small;">Taken from: https://myridia.com/dev_posts/view/1620</span>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-10662871444671504972019-01-07T23:57:00.000+05:302019-01-07T23:57:53.804+05:30Google Keyboard Shortcuts for Google Hangouts/Meet Chrome extension or app<br />
I wanted to find out the keyboard shortcuts for Hangouts and Meet which can give me the liberty to mute, unmute, turn on/off the camera.<br />
<br />
I found below shortcuts from Google's <a href="https://support.google.com/meet/answer/7315119?hl=en">support page.</a><br />
<br />
<a aria-expanded="false" aria-haspopup="true" class="zippy zippy-mac index1 goog-zippy-collapsed" data-stats-idx="1,2" data-stats-ignore="" data-stats-imp="" data-stats-ve="2" href="https://www.blogger.com/u/1/null" role="button" style="background-color: white; border-bottom: 1px solid rgb(224, 224, 224); border-top: 1px solid rgb(224, 224, 224); box-sizing: border-box; color: #1a73e8; cursor: pointer; display: inline-block; font-family: Roboto, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 24px; margin: -1px; outline: none; padding: 16px 50px 16px 16px; position: relative; width: 702px;" tabindex="0">Keyboard keys for Mac users</a><br />
<br />
<h3 style="background-color: white; color: #202124; font-family: "Google Sans", Roboto, sans-serif; font-size: 20px; font-weight: 500; line-height: 28px; margin: 0px 0px 8px;">
Controls</h3>
<table class="nice-table" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 0px; color: #3c4043; display: block; font-family: Roboto, "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; margin: 0px; max-width: 100%; outline: 0px; overflow: auto; padding: 0px;"><tbody>
<tr><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Shortcut</th><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Keyboard keys</th></tr>
<tr><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Turn on or off camera</td><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">⌘ + e</td></tr>
<tr><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Mute or unmute your microphone</td><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">⌘ + d</td></tr>
</tbody></table>
<h3 style="background-color: white; color: #202124; font-family: "Google Sans", Roboto, sans-serif; font-size: 20px; font-weight: 500; line-height: 28px; margin: 24px 0px 8px;">
Accessibility</h3>
<table class="nice-table" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 0px; color: #3c4043; display: block; font-family: Roboto, "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; margin: 0px; max-width: 100%; outline: 0px; overflow: auto; padding: 0px;"><tbody>
<tr><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Shortcut</th><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Keyboard keys</th></tr>
<tr><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Announce who is currently speaking</td><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Shift + ⌘ + Alt + a then s</td></tr>
<tr><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Announce current information about the room</td><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Shift + ⌘ + Alt + a then i</td></tr>
</tbody></table>
<br /><div>
<br /></div>
<div>
<a aria-expanded="false" aria-haspopup="true" class="zippy zippy-win zippy-winxp index2 goog-zippy-collapsed" data-stats-idx="2,2" data-stats-ignore="" data-stats-imp="" data-stats-ve="2" href="https://www.blogger.com/u/1/null" role="button" style="background-color: white; border-bottom: 1px solid rgb(224, 224, 224); border-top: 1px solid rgb(224, 224, 224); box-sizing: border-box; color: #1a73e8; cursor: pointer; display: inline-block; font-family: Roboto, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 24px; margin: -1px; outline: none; padding: 16px 50px 16px 16px; position: relative; width: 702px;" tabindex="0">Keyboard keys for PC users</a></div>
<div>
<br /></div>
<div>
<h3 style="background-color: white; color: #202124; font-family: "Google Sans", Roboto, sans-serif; font-size: 20px; font-weight: 500; line-height: 28px; margin: 0px 0px 8px;">
Controls</h3>
<table class="nice-table" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 0px; color: #3c4043; display: block; font-family: Roboto, "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; margin: 0px; max-width: 100%; outline: 0px; overflow: auto; padding: 0px;"><tbody>
<tr><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Shortcut</th><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Keyboard keys</th></tr>
<tr><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Turn on or off camera</td><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Ctrl + e</td></tr>
<tr><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Mute or unmute your microphone</td><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Ctrl + d</td></tr>
</tbody></table>
<h3 style="background-color: white; color: #202124; font-family: "Google Sans", Roboto, sans-serif; font-size: 20px; font-weight: 500; line-height: 28px; margin: 24px 0px 8px;">
Accessibility</h3>
<table class="nice-table" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 0px; color: #3c4043; display: block; font-family: Roboto, "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; margin: 0px; max-width: 100%; outline: 0px; overflow: auto; padding: 0px;"><tbody>
<tr><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Shortcut</th><th style="background-color: whitesmoke; border: 1px solid rgb(224, 224, 224); color: #212121; padding: 4px 12px; position: relative; text-align: left; vertical-align: baseline;">Keyboard keys</th></tr>
<tr><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Announce who is currently speaking</td><td style="border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Shift + Ctrl + Alt + a then s</td></tr>
<tr><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Announce current information about the room</td><td style="background-color: #e6e6e6; border: 1px solid rgb(224, 224, 224); padding: 4px 12px; position: relative; vertical-align: top;">Shift + Ctrl + Alt + a then i</td></tr>
</tbody></table>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.comtag:blogger.com,1999:blog-1142905323557775680.post-29827491638881271862018-05-01T22:37:00.002+05:302018-05-01T23:00:05.166+05:30How to use Commandline Arguments in Node.js?Commandline arguments are quite handy for small programs mostly required for interviews or testing your function. It could be another way to test your method in TDD (Test Driven Development) approach.
Below is the sample program that you can write to understand how to pass a command-line argument to a node.js application and how to handle it.<br />
<br />
<blockquote class="tr_bq">
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;">
<div>
<span style="color: #608b4e;">// Lodash library</span></div>
<div>
<span style="color: #569cd6;">const</span> <span style="color: #9cdcfe;">_</span> = <span style="color: #dcdcaa;">require</span>(<span style="color: #ce9178;">'lodash'</span>);</div>
<br />
<div>
<span style="color: #608b4e;">// Function that goes through each CommandLine Arguments and prints it to the console.</span></div>
<div>
<span style="color: #569cd6;">const</span> <span style="color: #dcdcaa;">runApp</span> = () <span style="color: #569cd6;">=></span> {</div>
<div>
<span style="color: #4ec9b0;">console</span>.<span style="color: #dcdcaa;">log</span>(<span style="color: #ce9178;">`</span><span style="color: #d7ba7d;">\n</span><span style="color: #ce9178;">Total Arguments: </span><span style="color: #569cd6;">${</span><span style="color: #9cdcfe;">process</span>.<span style="color: #9cdcfe;">argv</span>.<span style="color: #9cdcfe;">length</span><span style="color: #569cd6;">}</span><span style="color: #ce9178;">`</span>);</div>
<div>
<span style="color: #4ec9b0;">console</span>.<span style="color: #dcdcaa;">log</span>(<span style="color: #ce9178;">'</span><span style="color: #d7ba7d;">\n</span><span style="color: #ce9178;">Print all the arguments:'</span>);</div>
<div>
<span style="color: #4ec9b0;">console</span>.<span style="color: #dcdcaa;">log</span>(<span style="color: #ce9178;">'*********************'</span>);</div>
<div>
<span style="color: #9cdcfe;">_</span>.<span style="color: #dcdcaa;">map</span>(<span style="color: #9cdcfe;">process</span>.<span style="color: #9cdcfe;">argv</span>, (<span style="color: #9cdcfe;">arg</span>) <span style="color: #569cd6;">=></span> {</div>
<div>
<span style="color: #4ec9b0;">console</span>.<span style="color: #dcdcaa;">log</span>(<span style="color: #ce9178;">`[</span><span style="color: #569cd6;">${</span><span style="color: #9cdcfe;">process</span>.<span style="color: #9cdcfe;">argv</span>.<span style="color: #dcdcaa;">indexOf</span>(<span style="color: #9cdcfe;">arg</span>)<span style="color: #569cd6;">}</span><span style="color: #ce9178;">]: </span><span style="color: #569cd6;">${</span><span style="color: #9cdcfe;">arg</span><span style="color: #569cd6;">}</span><span style="color: #ce9178;">`</span>);</div>
<div>
});</div>
<div>
};</div>
<br />
<div>
<span style="color: #608b4e;">// Calling the function.</span></div>
<div>
<span style="color: #dcdcaa;">runApp</span>();</div>
</div>
</blockquote>
<br />
Above code is a simple example of using getting command-line arguments into the program and use it as an input to the function.
Below you can learn how to run the program:<br />
<br />
<blockquote class="tr_bq">
<div style="background-color: #1e1e1e; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;">
<div style="color: #d4d4d4;">
<span style="color: #9cdcfe;">$</span> <span style="color: #9cdcfe;">node</span> <span style="color: #9cdcfe;">index</span>.<span style="color: #9cdcfe;">js</span> <span style="color: #9cdcfe;">abc</span> <span style="color: #9cdcfe;">xyz</span></div>
<div>
<span style="color: #9cdcfe;">Total</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">Arguments</span><span style="color: #d4d4d4;">: </span><span style="color: #b5cea8;"><span style="caret-color: rgb(181, 206, 168);">2</span></span></div>
<div style="color: #d4d4d4;">
<span style="color: #9cdcfe;">Print</span> <span style="color: #9cdcfe;">all</span> <span style="color: #9cdcfe;">the</span> <span style="color: #569cd6;">arguments</span>:</div>
<div style="color: #d4d4d4;">
*********************</div>
<div style="color: #d4d4d4;">
[<span style="color: #b5cea8;">0</span>]: /<span style="color: #9cdcfe;">Users</span>/<span style="color: #9cdcfe;">user1</span>/.<span style="color: #9cdcfe;">nvm</span>/<span style="color: #9cdcfe;">versions</span>/<span style="color: #9cdcfe;">node</span>/<span style="color: #9cdcfe;">v9</span>.<span style="color: #b5cea8;">11.1</span>/<span style="color: #9cdcfe;">bin</span>/<span style="color: #9cdcfe;">node</span></div>
<div style="color: #d4d4d4;">
[<span style="color: #b5cea8;">1</span>]: /<span style="color: #9cdcfe;">Users</span>/<span style="color: #9cdcfe;">user1</span>/<span style="color: #9cdcfe;">test</span>/<span style="color: #9cdcfe;">nodejs</span>/<span style="color: #9cdcfe;">cmdarguments</span>/<span style="color: #9cdcfe;">index</span>.<span style="color: #9cdcfe;">js</span></div>
</div>
</blockquote>
<br />
In above example, you can see that process.argv is an array type property and by default contains 2 arguments. One is the direct path of node.js version installed and used to run this program and another is the file path we are running as a node.js program.
Now, if we add our own argument values then it will be listed from the index number 3 and so on. For more details look the example below:
<br />
<blockquote>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;">
<div>
<span style="color: #9cdcfe;">$</span> <span style="color: #9cdcfe;">node</span> <span style="color: #9cdcfe;">index</span>.<span style="color: #9cdcfe;">js</span> <span style="color: #9cdcfe;">abc</span> <span style="color: #9cdcfe;">xyz</span> <span style="color: #b5cea8;">123</span> <span style="color: #b5cea8;">34.56</span></div>
<div>
<span style="color: #9cdcfe;">Total</span> <span style="color: #9cdcfe;">Arguments</span>: <span style="color: #b5cea8;">6</span></div>
<div>
<span style="color: #9cdcfe;">Print</span> <span style="color: #9cdcfe;">all</span> <span style="color: #9cdcfe;">the</span> <span style="color: #569cd6;">arguments</span>:</div>
<div>
*********************</div>
<div>
[<span style="color: #b5cea8;">0</span>]: /<span style="color: #9cdcfe;">Users</span>/<span style="color: #9cdcfe;">user1</span>/.<span style="color: #9cdcfe;">nvm</span>/<span style="color: #9cdcfe;">versions</span>/<span style="color: #9cdcfe;">node</span>/<span style="color: #9cdcfe;">v9</span>.<span style="color: #b5cea8;">11.1</span>/<span style="color: #9cdcfe;">bin</span>/<span style="color: #9cdcfe;">node</span></div>
<div>
[<span style="color: #b5cea8;">1</span>]: /<span style="color: #9cdcfe;">Users</span>/<span style="color: #9cdcfe;">user1</span>/<span style="color: #9cdcfe;">test</span>/<span style="color: #9cdcfe;">nodejs</span>/<span style="color: #9cdcfe;">cmdarguments</span>/<span style="color: #9cdcfe;">index</span>.<span style="color: #9cdcfe;">js</span></div>
<div>
[<span style="color: #b5cea8;">2</span>]: <span style="color: #9cdcfe;">abc</span></div>
<div>
[<span style="color: #b5cea8;">3</span>]: <span style="color: #9cdcfe;">xyz</span></div>
<div>
[<span style="color: #b5cea8;">4</span>]: <span style="color: #b5cea8;">123</span></div>
<div>
[<span style="color: #b5cea8;">5</span>]: <span style="color: #b5cea8;">34.56</span></div>
</div>
</blockquote>
One thing you can observe here that process.argv can handle any type of data which includes string, integer, float, decimal etc. So, we have to be careful before we process these values.
<br />
<div>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-73819398149172788892017-10-31T22:30:00.001+05:302017-10-31T22:30:49.237+05:30Jmeter: Date-Time computation in pre-processor<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="font-size: xx-small;">From: <a href="https://hellotestworld.com/2016/02/02/cheatsheet-for-jmeter-__time-function-calls/">https://hellotestworld.com/2016/02/02/cheatsheet-for-jmeter-__time-function-calls/</a></span></div>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
Often I have to deal with dates and times in my scripting and luckily JMeter is quite good at dealing with them. The function to call is <span style="border: 0px; font-family: inherit; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">__time</span> (JMeter documentation <a href="http://jmeter.apache.org/usermanual/functions.html" style="border: 0px; color: #ec8500; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;">http://jmeter.apache.org/usermanual/functions.html</a>). The thing is the doco is pretty sketchy about all the different formats it can take. So I just created a test script to see what works. The examples are below ready to copy & paste. I also have included scripts for time and date manipulation for completeness.</div>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span id="more-993" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"></span></div>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
Note that<span style="border: 0px; font-family: inherit; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> __time</span> can only display the current time local to the machine.</div>
<table style="border-spacing: 0px; border: 1px solid rgb(231, 231, 231); color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; height: 290px; margin: 0px -0.071em 1.714em 0px; outline: 0px; padding: 0px; vertical-align: baseline; width: 745px;"><tbody style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><th style="border: 0px; color: #888888; font-family: inherit; font-style: inherit; line-height: 1.8; margin: 0px; outline: 0px; padding: 0.75em 2em; vertical-align: baseline;"><span style="font-size: small;">Function</span></th><th style="border: 0px; color: #888888; font-family: inherit; font-style: inherit; line-height: 1.8; margin: 0px; outline: 0px; padding: 0.75em 2em; vertical-align: baseline;"><span style="font-size: small;">Example Result for<br />01/12/2015 02:00PM</span></th></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(YMD)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">20151201</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(yyyyMMdd)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">20151201</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(yyMMdd)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">151201</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(dd-MM-yyyy)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">01-12-2015</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(dd/MM/yyyy hh:mm:ss)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">01/12/2015 14:00:00</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(dd/MM/yyyy HH:mm:ss a)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">01/12/2015 02:00:00 PM</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time()}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">1454358328739</td></tr>
<tr style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">${__time(yyyy-MM-dd’T’hh:mm:ssX)}</td><td style="border-top-color: rgb(231, 231, 231); border-top-style: solid; border-width: 1px 0px 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0.5em 2em; vertical-align: baseline;">2015-12-01T14:00:00+13</td></tr>
</tbody></table>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
There is no possibility to add/subtract in the <span style="border: 0px; font-family: inherit; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">__time</span> function. In order to do that you will need to use BeanShell, groovy or javascript.</div>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
Here is a simple groovy (<span style="border: 0px; font-family: inherit; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">JSR223 Processor</span>) example to add a day to the current date. There are dozens of other ways to do this though.</div>
<pre style="background-color: #eeeeee; border: 0px; color: #333333; font-family: "Courier 10 Pitch", Courier, monospace; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; outline: 0px; overflow: auto; padding: 1.6em 1.6em 1.6em 30px; vertical-align: baseline;">import java.text.SimpleDateFormat;
import java.util.Date;
// You need to define ${InDays} as how many days forward/back you want to go
int InDays = Integer.valueOf(vars.get("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">InDays</strong>"));
Date date = new Date();
date.setDate(date.getDate() + InDays);
SimpleDateFormat df = new SimpleDateFormat("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">dd/MM/yyyy</strong>");
String formattedDate = df.format(date);
// Resulting date will be in ${FutureDate}
vars.put("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">FutureDate</strong>",formattedDate);</pre>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
This function is only good for adding/subtracting days though. If you need to manipulate time the below function can be used. The below can also be changed to add days too though. It would be overkill if you just need to manipulate the date though.</div>
<pre style="background-color: #eeeeee; border: 0px; color: #333333; font-family: "Courier 10 Pitch", Courier, monospace; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; outline: 0px; overflow: auto; padding: 1.6em 1.6em 1.6em 30px; vertical-align: baseline;">import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
// The below variables need to be defined
int ForwardSecond = Integer.valueOf(vars.get("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ForwardSecond</strong>"));
int ForwardMinute = Integer.valueOf(vars.get("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ForwardMinute</strong>"));
int ForwardHour = Integer.valueOf(vars.get("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ForwardHour</strong>"));
Date now = new Date();
Calendar c = Calendar.getInstance();
c.setTime(now);
c.add(Calendar.SECOND, ForwardSecond);
c.add(Calendar.MINUTE, ForwardMinute);
c.add(Calendar.HOUR, ForwardHour);
Date NewTime = c.getTime();
SimpleDateFormat df = new SimpleDateFormat("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">HH:mm:ss</strong>");
String mytime = df.format(NewTime);
// Rsult can be accessed through ${NewTime}
vars.put("<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">NewTime</strong>",mytime);</pre>
<div style="border: 0px; color: #333333; font-family: Ubuntu, sans-serif; font-size: 14px; margin-bottom: 1.429em; outline: 0px; padding: 0px; vertical-align: baseline;">
I hope this helps those needing to deal with times and dates in JMeter.</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com1tag:blogger.com,1999:blog-1142905323557775680.post-87444335358717375072017-10-21T03:15:00.004+05:302017-10-21T03:15:47.277+05:30<div class="postable-info-bar-container" style="box-sizing: inherit; font-family: proxima-nova, sans-serif; margin-bottom: 15px;">
<div class="postable-info-bar" style="box-sizing: border-box; clear: both; color: #999999; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;">
<span style="font-size: x-small;">From: https://www.digitalocean.com/community/tutorials/how-to-share-data-between-docker-containers</span></div>
<div class="postable-info-bar" style="box-sizing: border-box; clear: both; color: #999999; font-size: 20px; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;">
<span style="color: #3a3a3a; font-size: 32px; letter-spacing: 0px;">How To Share Data between Docker Containers</span></div>
<div class="postable-info-bar" style="box-sizing: border-box; clear: both; color: #999999; font-size: 20px; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;">
<span style="color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em;">Introduction</span></div>
</div>
<div class="content-body tutorial-content" data-growable-markdown="" style="box-sizing: inherit; clear: both; font-family: proxima-nova, sans-serif; font-size: 16px; overflow-x: auto;">
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Docker is a popular containerization tool used to provide software applications with a filesystem that contains everything they need to run. Using Docker containers ensures that the software will behave the same way, regardless of where it is deployed, because its run-time environment is ruthlessly consistent.</div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In general, Docker containers are ephemeral, running just as long as it takes for the command issued in the container to complete. Sometimes, however, applications need to share access to data or persist data after a container is deleted. Databases, user-generated content for a web site and log files are just a few examples of data that is impractical or impossible to include in a Docker image but which applications need to access. Persistent access to data is provided with Docker Volumes.</div>
<div data-unique="prerequisites" name="prerequisites" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="prerequisites" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
Prerequisites</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
To follow this article, you will need an Ubuntu 16.04 server with the following:</div>
<ul style="box-sizing: border-box; margin: 0px auto 1.7rem; padding: 0px 0px 0px 2.5rem; width: 745px;">
<li style="box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;"><div style="box-sizing: border-box; display: inline; padding: 0px;">
A non-root user with sudo privileges. The <a href="https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04" style="border-bottom-color: rgb(0, 0, 0); border-bottom-style: dotted; border-bottom-width: 1px; box-sizing: border-box; color: black; text-decoration: none;">Initial Server Setup with Ubuntu 16.04</a> guide explains how to set this up.</div>
</li>
<li style="box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;"><div style="box-sizing: border-box; display: inline; padding: 0px;">
Docker installed with the instructions from <span style="box-sizing: border-box; font-weight: 600;">Step 1</span> and <span style="box-sizing: border-box; font-weight: 600;">Step 2</span> of <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04" style="border-bottom-color: rgb(0, 0, 0); border-bottom-style: dotted; border-bottom-width: 1px; box-sizing: border-box; color: black; text-decoration: none;">How To Install and Use Docker on Ubuntu 16.04</a></div>
</li>
</ul>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
<span class="note" style="background-color: #f4f2d4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #3a3a3a; display: block; font-size: 15px; line-height: 26px; margin-bottom: 22px; padding: 13px 17px;"><span style="box-sizing: border-box; font-weight: 600;">Note:</span> Even though the Prerequisites give instructions for installing Docker on Ubuntu 16.04, the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">docker</code>commands for Docker data volumes in this article should work on other operating systems as long as Docker is installed and the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">sudo</code> user has been added to the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">docker</code> group.</span></div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Docker Volumes can be created and attached in the same command that creates a container, or they can be created independent of any containers and then attached later. In this article, we'll look at four different ways to share data between containers.</div>
<div data-unique="1-—-creating-an-independent-volume" name="1-—-creating-an-independent-volume" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="1-—-creating-an-independent-volume" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
1 — Creating an Independent Volume</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Introduced in Docker's 1.9 release, the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker volume create</code> command allows you to create a volume without relating it to any particular container. We'll use this command to add a volume named <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">DataVolume1</code>:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume create --name DataVolume1
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
The name is displayed, indicating that the command was successful.</div>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
DataVolume1
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
To make use of the volume, we'll create a new container from the Ubuntu image, using the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">--rm</code> flag to automatically delete it when we exit. We'll use <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-v</code> to mount the new volume. <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-v</code> requires the name of the volume, a colon, then the absolute path to where the volume should appear inside the container. If the directories in the path don't exist as part of the image, they'll be created when the command runs. If they <em style="box-sizing: border-box;">do</em> exist, the mounted volume will hide the existing content.</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --rm -v DataVolume1:/datavolume1 ubuntu
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
While we're there, we'll write some data to the volume:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@802b0a78f2ef:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">echo "Example1" > /datavolume1/Example1.txt
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Because we used the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">--rm</code> flag, our container will be automatically deleted when we exit. Our volume, however, will still be accessible.</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@802b0a78f2ef:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We can verify the volume is present on the system with <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker volume inspect</code>:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume inspect DataVolume1
</li>
</ul>
</code></pre>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
[
{
"Name": "DataVolume1",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/datavolume1/_data",
"Labels": null,
"Scope": "local"
}
]
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
<span class="note" style="background-color: #f4f2d4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #3a3a3a; display: block; font-size: 15px; line-height: 26px; margin-bottom: 22px; padding: 13px 17px;"><span style="box-sizing: border-box; font-weight: 600;">Note:</span> We can even look at the data on the host at the path listed as the Mountpoint. We should avoid altering it, however, as it can cause data corruption if applications or containers are unaware of changes.</span></div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Next, let's start a new container and attach <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">DataVolume1</code>:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run --rm -ti -v DataVolume1:/datavolume1 ubuntu
</li>
</ul>
</code></pre>
<pre class="code-pre custom_prefix third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@d73eca0365fc:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /datavolume1/Example1.txt
</li>
</ul>
</code></pre>
<pre class="code-pre third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
Example1
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Let's exit the container.</div>
<pre class="code-pre custom_prefix third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@d73eca0365fc:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In this example, we created a volume, attached it to a container, and verified its persistence.</div>
<div data-unique="2-—-creating-a-volume-that-persists-when-the-container-is-removed" name="2-—-creating-a-volume-that-persists-when-the-container-is-removed" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="2-—-creating-a-volume-that-persists-when-the-container-is-removed" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
2 — Creating a Volume that Persists when the Container is Removed</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In our next example, we'll create a volume at the same time as the container, delete the container, then attach the volume to a new container.</div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We'll use the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker run</code> command to create a new container using the base <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">ubuntu</code> image. <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-t</code> will give us a terminal, and <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-i</code> will allow us to interact with it. For clarity, we'll use <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">--name</code> to identify the container. Next we'll add the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-v</code> flag to create </div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We'll use <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">-v</code> to create a new volume. We'll name it <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">DataVolume2</code>. We'll use a colon to separate this name from the path where the volume should be mounted in the container. Finally, we will specify the base Ubuntu image and rely on the default command in the <a href="https://github.com/dockerfile/ubuntu/blob/master/Dockerfile#L32" style="border-bottom-color: rgb(0, 0, 0); border-bottom-style: dotted; border-bottom-width: 1px; box-sizing: border-box; color: black; text-decoration: none;">Ubuntu base image's Docker file</a>, <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">bash</code>, to drop us into a shell.</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --name=Container2 -v DataVolume2:/datavolume2 ubuntu
</li>
</ul>
</code></pre>
<span class="note" style="background-color: #f4f2d4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #3a3a3a; display: block; font-size: 15px; line-height: 26px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 13px 17px; width: 745px;"><div style="box-sizing: border-box; margin-bottom: 22px; padding: 0px;">
<span style="box-sizing: border-box; font-weight: 600;">Note:</span> The <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">-v</code> flag is very flexible. It can bindmount or name a volume with just a slight adjustment in syntax. If the first argument begins with a <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">/</code> or <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">~/</code> you're creating a bindmount. Remove that, and you're naming the volume. For example:</div>
<ul style="box-sizing: border-box; margin: 0px 0px 1.7rem; padding: 0px 0px 0px 2.5rem;">
<li style="box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;"><code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">-v /path:/path/in/container</code> mounts the host directory, <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">/path</code> at the <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">/path/in/container</code></li>
<li style="box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;"><code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">-v path:/path/in/container</code> creates a volume named <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;">path</code> with no relationship to the host.</li>
</ul>
<div style="box-sizing: border-box; margin-bottom: 22px; padding: 0px;">
For more on bindmounting a directory from the host, see <a href="https://www.digitalocean.com/community/tutorials/how-to-share-data-between-the-docker-container-and-the-host" style="border-bottom-color: rgb(0, 0, 0); border-bottom-style: dotted; border-bottom-width: 1px; box-sizing: border-box; color: black; text-decoration: none;">How To Share Data between a Docker Container and the Host</a></div>
</span><div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
While we're there, we'll write some data to the volume:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@87c33b5ae18a:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">echo "Example2" > /datavolume2/Example2.txt
</li>
<li class="line" prefix="root@87c33b5ae18a:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /datavolume2/Example2.txt
</li>
</ul>
</code></pre>
<pre class="code-pre second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
Example2
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We'll exit the container:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@87c33b5ae18a:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
When we restart it, the volume will mount automatically. </div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker start -ai Container2
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Let's verify that the volume has indeed mounted and our data is still in place:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@87c33b5ae18a:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /datavolume2/Example2.txt
</li>
</ul>
</code></pre>
<pre class="code-pre second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
Example2
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Finally, let's exit and clean up. </div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@87c33b5ae18a:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Docker won't let us remove a volume if it's referenced by a container. Let's see what happens when we try:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume rm DataVolume2
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
The message tells us that the volume is still in use and supplies the long version of the container ID:</div>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
Error response from daemon: Unable to remove volume,
volume still in use: remove DataVolume2: volume is in use -
[<span class="highlight" style="background-position: 0px 0px; background-repeat: initial initial; box-sizing: border-box; color: #fff066; display: inline;">719f98391ecf1d6f0f053ffea1bbd84cd2dc9cf6d31d5a4f348c60d98392804c</span>]
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We can use the ID to remove the container:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker rm <span class="highlight" style="background-position: 0px 0px; background-repeat: initial initial; box-sizing: border-box; color: #fff066; display: inline;">719f98391ecf1d6f0f053ffea1bbd84cd2dc9cf6d31d5a4f348c60d98392804c</span>
</li>
</ul>
</code></pre>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
719f98391ecf1d6f0f053ffea1bbd84cd2dc9cf6d31d5a4f348c60d98392804c
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Removing the container won't affect the volume. We can see it's still present on the system by listing the volumes with <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker volume ls</code>:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume ls
</li>
</ul>
</code></pre>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
DRIVER VOLUME NAME
local DataVolume2
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
And we can use <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker volume rm</code> to remove it.</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume rm DataVolume2
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In this example, we created an empty data volume at the same time that we created a container. In our next example, we'll explore what happens when we create a volume with a container directory that already contains data.</div>
<div data-unique="3-—-creating-a-volume-from-an-existing-directory-with-data" name="3-—-creating-a-volume-from-an-existing-directory-with-data" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="3-—-creating-a-volume-from-an-existing-directory-with-data" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
3 — Creating a Volume from an Existing Directory with Data</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Generally, creating a volume independently with <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker volume create</code> and creating one while creating a container are equivalent, with one exception. If we create a volume at the same time as we create a container <em style="box-sizing: border-box;">and</em> we provide the path to a directory that contains data in the base image, that data will be copied into the volume. </div>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
As an example, we’ll create a container and add the data volume at <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">/var</code>, a directory which contains data in the base image:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --rm -v DataVolume3:/var ubuntu
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
All the content from the base image's /var directory is copied into the volume, and we can mount that volume in a new container. This time, rather than relying on the base image's default <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">bash</code> command, we'll issue our own <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">ls</code> command, which will show the contents of the volume without entering the shell:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run --rm -v DataVolume3:/datavolume3 ubuntu ls DataVolume3
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
<code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">DataVolume3</code> has a copy of the contents of the base image's <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">/var</code> directory:</div>
<pre class="code-pre local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(255, 255, 255, 0.701961); margin-bottom: 4px;" title="Output">
Output</div>
backups
cache
lib
local
lock
log
mail
opt
run
spool
tmp
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
It's unlikely that we would want to mount <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">/var/</code> in this way, but this can be helpful if we've crafted our own image and want an easy way to preserve data. In our next example, we'll demonstrate how a volume can be shared between multiple containers.</div>
<div data-unique="4-—-sharing-data-between-multiple-docker-containers" name="4-—-sharing-data-between-multiple-docker-containers" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="4-—-sharing-data-between-multiple-docker-containers" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
4 — Sharing Data between Multiple Docker Containers</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
So far, we've attached a volume to one container at a time. But often, we'll want multiple containers to attach to the same data volume. This is relatively straightforward to accomplish, but there's one critical caveat: at this time, Docker doesn't handle file locking. If you need multiple containers writing to the volume, the applications running in those containers <em style="box-sizing: border-box;">must</em> be designed to write to shared data stores in order to prevent data corruption. </div>
<h3 id="create-container4-and-datavolume4" style="box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;">
Create Container4 and DataVolume4</h3>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Use <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">docker run</code> to create a new container named <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">Container4</code> with a data volume attached.</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --name=Container4 -v DataVolume4:/datavolume4 ubuntu
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Next we'll create a file and add some text:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@db6aaead532b:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">echo "This file is shared between containers" > /datavolume4/Example4.txt
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Then, we'll exit the container.</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@db6aaead532b:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
This returns us to the host command prompt, where we'll make a new container that mounts the data volume from Container4</div>
<h3 id="create-container5-and-mount-volumes-from-container4" style="box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;">
Create Container5 and Mount Volumes from Container4</h3>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We're going to create Container5, and mount the volumes from Container4:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --name=Container5 --volumes-from Container4 ubuntu
</li>
</ul>
</code></pre>
<pre class="code-pre custom_prefix third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@81e7a6153d28:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /datavolume4/Example4.txt
</li>
</ul>
</code></pre>
<pre class="code-pre third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
This file is shared between containers
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Now let's append some text from the second container:</div>
<pre class="code-pre custom_prefix third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@81e7a6153d28:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">echo "Both containers can write to DataVolume4" >> /datavolume4/Example4.txt
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Finally, we'll exit the container:</div>
<pre class="code-pre custom_prefix third-environment" style="background-color: #ffdded; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #86003f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@81e7a6153d28:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Next, we'll check that our data is still present to Container4.</div>
<h3 id="view-changes-made-in-container5" style="box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;">
View Changes Made in Container5</h3>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Let's check for the changes that were written to the data volume by Container5 by restarting Container4:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker start -ai Container4
</li>
</ul>
</code></pre>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@db6aaead532b:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /datavolume4/Example4.txt
</li>
</ul>
</code></pre>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@db6aaead532b:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">cat /DataVolume4/Example4.txt
</li>
</ul>
</code></pre>
<pre class="code-pre second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
This file is shared between containers
Both containers can write to DataVolume4
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Now that we've verified that both containers were able to read and write from the data volume, we'll exit the container:</div>
<pre class="code-pre custom_prefix second-environment" style="background-color: #c6f1ff; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@db6aaead532b:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Again, Docker doesn't handle any file locking, so applications <em style="box-sizing: border-box;">must</em> account for the file locking themselves. It is possible to mount a Docker volume as read-only to ensure that data corruption won't happen by accident when a container requires read-only access by adding <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">:ro</code>. Let's look at how this works.</div>
<h3 id="start-container-6-and-mount-the-volume-read-only" style="box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;">
Start Container 6 and Mount the Volume Read-Only</h3>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Once a volume has been mounted in a container, rather than unmounting it like we would with a typical Linux file system, we instead create a new container mounted the way we want it and, if needed, remove the previous container. To make the volume read-only, we append <code style="background-color: rgba(0, 0, 0, 0.0470588); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;">:ro</code> to the end of the container name:</div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker run -ti --name=Container6 --volumes-from Container4:ro ubuntu
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
We'll check the read-only status by trying to remove our example file: </div>
<pre class="code-pre custom_prefix fourth-environment" style="background-color: #ddffe1; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00530a; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@81e7a6153d28:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">rm /datavolume4/Example4.txt
</li>
</ul>
</code></pre>
<pre class="code-pre fourth-environment" style="background-color: #ddffe1; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00530a; line-height: 22px; margin: 0px; padding: 0px;"><div class="secondary-code-label " style="box-sizing: border-box; color: rgba(0, 0, 0, 0.298039); margin-bottom: 4px;" title="Output">
Output</div>
rm: cannot remove '/datavolume4/Example4.txt': Read-only file system
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Finally, we'll exit the container and clean up our test containers and volumes:</div>
<pre class="code-pre custom_prefix fourth-environment" style="background-color: #ddffe1; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #00530a; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="root@81e7a6153d28:/#" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">exit
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
Now that we’re done, let’s clean up our containers and volume: </div>
<pre class="code-pre command local-environment" style="background-color: black; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow: auto !important; padding: 1rem; width: 745px; word-wrap: normal;"><code langs="" style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #e2e2e2; line-height: 22px; margin: 0px; padding: 0px;"><ul class="prefixed" style="box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;">
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker rm Container4 Container5 Container6
</li>
<li class="line" prefix="$" style="box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;">docker volume rm DataVolume4
</li>
</ul>
</code></pre>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In this example, we've shown how to share data between two containers using a data volume and how to mount a data volume as read-only.</div>
<div data-unique="conclusion" name="conclusion" style="box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;">
</div>
<h2 id="conclusion" style="box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;">
Conclusion</h2>
<div style="box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;">
In this tutorial, we've created a data volume which allowed data to persist through the deletion of a container. We've shared data volumes between containers, with the caveat that applications will need to be designed to handle the file locking to prevent data corruption. Finally, we've shown how to mount a shared volume in read-only mode. If you're interested learning about sharing data between containers and the host system, see <a href="https://www.digitalocean.com/community/tutorials/how-to-share-data-between-the-docker-container-and-the-host" style="border-bottom-color: rgb(0, 0, 0); border-bottom-style: dotted; border-bottom-width: 1px; box-sizing: border-box; color: black; text-decoration: none;">How To Share Data between the Docker Container and the Host</a>.</div>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-79719478338847121912017-06-12T20:32:00.000+05:302017-06-12T20:32:06.499+05:30caffeinate command: Disable Sleep on a Mac from the Command Line<h3 style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 22.399999618530273px; margin: 0px 0px 8px; padding: 0px;">
What is the ‘caffeinate’ Command in Mac OS X</h3>
<div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<span style="background-color: white;">The 'caffeinate' command just prevents sleep entirely, but you can modify the command with various flags to prevent just the display from sleeping, provide a specified time to avoid sleeping, prevent sleeping while a command runs, and more. The command details is given below:</span></div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmSDR-8vM6j5bWMZzIo5fjhE7FoQeUu_5isBFtpATIZgK2Je5BwT_3PLO2fSpe5t_jiAYvZOjLCKc9hTv16hiEJUi3SHQ5v4kV0f0XceZ-Fac2SThnfJscLBMKzeY9B6AMBAJXz2nyp9A/s1600/caffeinate-command-line-avoid-sleep.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="caffeinate command on Mac OSX" border="0" data-original-height="243" data-original-width="620" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmSDR-8vM6j5bWMZzIo5fjhE7FoQeUu_5isBFtpATIZgK2Je5BwT_3PLO2fSpe5t_jiAYvZOjLCKc9hTv16hiEJUi3SHQ5v4kV0f0XceZ-Fac2SThnfJscLBMKzeY9B6AMBAJXz2nyp9A/s1600/caffeinate-command-line-avoid-sleep.jpg" title="caffeinate command on Mac OSX" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">caffeinate command help</td></tr>
</tbody></table>
<span id="goog_1860220118"></span><span id="goog_1860220119"></span><br /></div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<span style="background-color: white;">A few useful examples are discussed below.</span></div>
</div>
<h3 style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 22.399999618530273px; margin: 0px 0px 8px; padding: 0px;">
How to Disable Sleep with the ‘caffeinate’ Command in Mac OS X</h3>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
To <strong style="margin: 0px; padding: 0px;">temporarily disable sleep</strong> functions regardless of sleep settings, run the following command from Terminal in Mac OS X:</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<code style="background-color: #f3f3f3; border: 1px solid rgb(221, 221, 221); display: block; font-size: 1.2em; margin: 0px; overflow: auto; padding: 3px;">caffeinate</code></div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
At the core basic function of the command, caffeinate is all that’s necessary, and while caffeinate is active sleep will be prevented until it’s no longer running.</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
To stop caffeinate and return to normal sleep behavior, you can hit “Control+C” to quit out of caffeinate as it’s running like this, or you can kill it with the ‘killall caffeinate’ command if desired.</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
You can also run caffeinate for a pre-determined amount of time to <strong style="margin: 0px; padding: 0px;">prevent sleeping for a specified block of time</strong>, say for 4 hours while you download something, and then run it in the background by adding & to it:</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<code style="background-color: #f3f3f3; border: 1px solid rgb(221, 221, 221); display: block; font-size: 1.2em; margin: 0px; overflow: auto; padding: 3px;">caffeinate -t 144000 &</code></div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
The number attached to the -t flag is the amount of time in seconds for sleep to be disabled on the Mac.</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<strong style="margin: 0px; padding: 0px;">Caffeinate can also be attached to other commands to prevent the Mac from sleeping while that given command runs</strong>:</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
<code style="background-color: #f3f3f3; border: 1px solid rgb(221, 221, 221); display: block; font-size: 1.2em; margin: 0px; overflow: auto; padding: 3px;">caffeinate [command_to_run] -arguments</code></div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
That causes the Mac to avoid sleep only as long as it takes to run the command provided, after which the normal sleep rules apply. </div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
With these latter tricks, if you run caffeinate in the background and want to cancel it then the easiest way to quit the process is to issue the kill command for the reference process ID, or simply ‘killall caffeinate’</div>
<div style="color: #303030; font-family: 'Helvetica Neue', Helvetica, Verdana, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.9em; margin-bottom: 15px; padding: 0px;">
To use the caffeinate command you’ll need to be running a fairly modern version of OS X, as the feature was introduced in 10.8 Mountain Lion and persists through 10.9 Mavericks, and into 10.10 Yosemite.<br />
<br />
source: http://osxdaily.com/2012/08/03/disable-sleep-mac-caffeinate-command/</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-19392149459196861332017-06-11T04:52:00.000+05:302017-06-11T04:52:54.336+05:30Install node.js using NVM and Homebrew on Mac OS X<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Reference: http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Less than a month ago, <a href="https://iojs.org/en/index.html" style="box-sizing: border-box; color: #900000;" title="iojs home page">iojs</a> was released (multiple releases followed) and 6 days ago, the v0.12.0 of <a href="http://nodejs.org/" style="box-sizing: border-box; color: #900000;" title="NodeJs Home page">node</a> was released.</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
I still had the same v0.10.x (can’t remember the patch 🙂 ) of node on my computer I installed a few months ago … As a nodejs developer, I decided it was time <a href="http://stackoverflow.com/a/17203692/2733488" style="box-sizing: border-box; color: #900000;" title="How to uninstall previous version of node">to get rid of my old version</a> and switch to <a href="https://github.com/creationix/nvm" style="box-sizing: border-box; color: #900000;" title="nvm (Node Version Manager) on github">nvm</a> so that I could test my projects (websites and node modules) on different engines and versions – moreover not to be stuck in the case some module should only work on one or an other …</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
This post is more a reminder for future me when I’ll make the install again, though it could help some people.</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
First, you’ll need <a href="http://brew.sh/" style="box-sizing: border-box; color: #900000;" title="Homebrew, a package manager for OS X">Homebrew</a>. If you’re a MacPorts user (or a Linux user), I assume it’s nearly the same, you may even have your own way which is faster and better, no need to troll 😉 – for Windows users, you have <a href="https://github.com/creationix/nvm#installation" style="box-sizing: border-box; color: #900000;" title="Install nvm like on Windows">some alternatives</a>.</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Start by :</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;">brew update
brew install nvm
<span class="support command" style="box-sizing: border-box; color: #0086b3;">mkdir</span> ~/.nvm
nano ~/.bash_profile
</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
In your <code style="-webkit-hyphens: none; background-color: #f8f8f8; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px;">.bash_profile</code> file (you may be using an other file, according to your shell), add the following :</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;"><span class="keyword" style="box-sizing: border-box; font-weight: bold;">export</span> NVM_DIR=~/.nvm
<span class="support command" style="box-sizing: border-box; color: #0086b3;">source</span> <span class="shell" style="box-sizing: border-box;">$(brew --prefix nvm)</span>/nvm.sh</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Back to your shell, activate nvm and check it (if you have other shells opened and you want to keep them, do the same) :</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;"><span class="support command" style="box-sizing: border-box; color: #0086b3;">source</span> ~/.bash_profile
<span class="support command" style="box-sizing: border-box; color: #0086b3;">echo</span> $NVM_DIR</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Now, you can install node :</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;">nvm install 0.12</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
From now on, you’re using the v0.12.x of node on this shell, you can install your global dependencies such as grunt-cli (they will be tied up to this version of node).</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
You may want to install other versions, just do :</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;">nvm install 0.10
nvm install iojs
...</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
You’ll have to <code style="-webkit-hyphens: none; background-color: #f8f8f8; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px;">npm install -g</code> your global dependencies for each version.</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Switch of node version with <code style="-webkit-hyphens: none; background-color: #f8f8f8; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px;">nvm use 0.10</code> (<a href="https://github.com/creationix/nvm#usage" style="box-sizing: border-box; color: #900000;" title="How to use nvm">more infos here</a>).</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
To have a node activated by default (not to have to <code style="-webkit-hyphens: none; background-color: #f8f8f8; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px;">nvm use</code> on each new shell), run this (stable being the id of the version):</div>
<pre class="rainbow" data-language="shell" style="-webkit-hyphens: none; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 20px; margin-top: 20px; overflow: auto; padding: 6px 10px; white-space: pre-wrap; word-wrap: break-word;">nvm alias default stable</pre>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Now, you can run multiple versions of node on your computer.</div>
<div style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 13.600000381469727px; margin-bottom: 10px;">
Sources :</div>
<ul class="topheman-related" style="box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 12.920000076293945px; list-style-type: square; margin: 16px 0px; padding: 0px 0px 0px 40px;">
<li style="box-sizing: border-box;"><a href="http://stackoverflow.com/a/17203692/2733488" style="box-sizing: border-box; color: #900000; font-style: italic; text-decoration: none;" title="How to uninstall previous version of node">remove an existing version of node installed on Mac OS X</a></li>
<li style="box-sizing: border-box;"><a href="http://stackoverflow.com/questions/28017374/what-is-the-suggested-way-to-install-brew-node-js-io-js-nvm-npm-on-os-x" style="box-sizing: border-box; color: #900000; font-style: italic; text-decoration: none;" title="How to install nvm with Homebrew">install nvm with Homebrew</a></li>
<li style="box-sizing: border-box;"><a href="https://github.com/creationix/nvm#usage" style="box-sizing: border-box; color: #900000; font-style: italic; text-decoration: none;" title="How to use nvm">nvm, how to use it</a></li>
</ul>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-84199028587540933282016-11-04T22:38:00.000+05:302017-02-24T03:54:21.027+05:30Introduction WPF (Windows Presentation Foundation)<span style="color: #365f91; font-family: "cambria"; font-size: large;">Introduction WPF (Windows Presentation Foundation)</span><o:p></o:p><br />
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">WPF combines application UIs, 2D graphics, 3D graphics, documents and multimedia into one single framework. Its vector based rendering engine uses hardware acceleration of modern graphic cards. This makes the UI faster, scalable and resolution independent.</span><br />
<br />
<span style="font-family: "calibri";">The following illustration gives you an overview of the main new features of WPF:</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Declarative UI with XAML.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Multimedia support.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Skinning Support.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">XPS Documents.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">3D Programming.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">6.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Highly Composable.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">7.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Animation and Timeliness.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">8.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Powerful Data binding.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">9.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Resolution independence.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">10.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Vector based rendering.</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l4 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">11.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Hardware Accelerated (Direct 3D)<o:p></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Separation of Appearance and Behavior</span></h2>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">WPF separates the appearance of a user interface from its behavior. The appearance is generally specified in the </span><a href="http://www.wpftutorial.net/XAML.html"><span style="color: blue; font-family: "calibri";">Extensible Application Markup Language</span></a><span style="font-family: "calibri";"> (XAML), the behavior is implemented in a managed programming language like C# or Visual Basic. The two parts are tied together by data binding, events and commands. The separation of appearance and behavior brings the following benefits:</span></div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l1 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "calibri";">Appearance and behavior are loosely coupled</span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l1 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "calibri";">Designers and developers can work on separate models.<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l1 level1 lfo2; tab-stops: list .5in;"><span style="font-family: "calibri";">Graphical design tools can work on simple XML documents instead of parsing code.</span></li>
</ul>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Rich composition</span></h2>
<div class="MsoNormal" style="line-height: 16.2pt; margin: 0in 0in 7.5pt;">
<span style="color: #444444; font-family: "segoe ui" , "sans-serif"; font-size: 10pt;">Controls in WPF are extremely composable. You can define almost any type of controls as content of another. Although these flexibility sounds horrible to designers, its a very powerful feature if you use it appropriate. Put an image into a button to create an image button, or put a list of videos into a combo box to choose a video file.</span><span style="color: #444444; font-family: "courier new"; font-size: 10pt; text-align: center;"> </span></div>
<br />
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Button></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><StackPanel </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Orientation</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"Horizontal"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Image </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Source</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"speaker.png"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Stretch</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"Uniform"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">/></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><TextBlock </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Text</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"Play Sound"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> /></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></StackPanel></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></Button></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="_Toc301698206"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Highly customizable</span></a><o:p></o:p></h2>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Because of the strict separation of appearance and behavior you can easily change the look of a control. The concept of </span><a href="http://www.wpftutorial.net/Styles.html"><span style="color: blue; font-family: "calibri";">styles</span></a><span style="font-family: "calibri";"> let you skin controls almost like CSS in HTML. </span><a href="http://www.wpftutorial.net/Templates.html"><span style="color: blue; font-family: "calibri";">Templates</span></a><span style="font-family: "calibri";"> let you replace the entire appearance of a control.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The following example shows a default WPF button and a customized button.</span></div>
<h1 style="margin: 24pt 0in 0pt;">
<span style="color: #365f91; font-family: "cambria"; font-size: large;">Introduction to XAML</span></h1>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">XAML stands for <b style="mso-bidi-font-weight: normal;">Extensible Application Markup Language</b>. It’s a simple language based on XML to create and initialize .NET objects with hierarchical relations. Although it was originally invented for WPF it can be used to create any kind of object trees.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Today XAML is used to create user interfaces in WPF, Silverlight, declare workflows in WF and for electronic paper in the XPS standard.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">All classes in WPF have parameter less constructors and make excessive usage of properties. That is done to make it perfectly fit for XML languages like XAML.</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Advantages of XAML</span></h2>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">All you can do in XAML can also be done in code. XAML is just another way to create and initialize objects. You can use WPF without using XAML. It's up to you if you want to declare it in XAML or write it in code. Declare your UI in XAML has some advantages:</span></div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l2 level1 lfo3; tab-stops: list .5in;"><span style="font-family: "calibri";">XAML code is short and clear to read<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l2 level1 lfo3; tab-stops: list .5in;"><span style="font-family: "calibri";">Separation of designer code and logic<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l2 level1 lfo3; tab-stops: list .5in;"><span style="font-family: "calibri";">Graphical design tools like Expression Blend require XAML as source.<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l2 level1 lfo3; tab-stops: list .5in;"><span style="font-family: "calibri";">The separation of XAML and UI logic allows it to clearly separate the roles of designer and developer.</span></li>
</ul>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="_Toc301698209"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">XAML vs. Code</span></a><o:p></o:p></h2>
<br />
<span style="font-family: "calibri";">As an example we build a simple StackPanel with a textblock and a button in XAML and compare it to the same code in C#.</span><br />
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><StackPanel></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><TextBlock </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Margin</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"20"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">></span><span style="color: #444444; font-family: "courier new"; font-size: 10pt;">Welcome to the World of XAML</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></TextBlock></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Button </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Margin</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"10"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">HorizontalAlignment</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"Right"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">></span><span style="color: #444444; font-family: "courier new"; font-size: 10pt;">OK</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></Button></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></StackPanel></span><span style="color: #444444; font-family: "courier new"; font-size: 10pt;"> <o:p></o:p></span></div>
<br />
<span style="font-family: "calibri";">The same expressed in C# will look like this:</span><br />
<br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Create the StackPanel</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b style="mso-bidi-font-weight: normal;"><span style="color: #444444;">StackPanel</span></b><span style="color: #444444;"> stackPanel </span><span style="color: green;">=</span><span style="color: #444444;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"><span style="color: #444444;"> <b style="mso-bidi-font-weight: normal;">StackPanel</b></span><span style="color: black;">()</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">this</span></b><span style="color: #444444;">.</span><span style="color: blue;">Content</span><span style="color: #444444;"> </span><span style="color: green;">=</span><span style="color: #444444;"> stackPanel;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Create the TextBlock</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b style="mso-bidi-font-weight: normal;"><span style="color: #444444;">TextBlock</span></b><span style="color: #444444;"> textBlock </span><span style="color: green;">=</span><span style="color: #444444;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"><span style="color: #444444;"> <b style="mso-bidi-font-weight: normal;">TextBlock</b></span><span style="color: black;">()</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">textBlock.</span><span style="color: blue;">Margin</span><span style="color: #444444;"> </span><span style="color: green;">=</span><span style="color: #444444;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"><span style="color: #444444;"> <b style="mso-bidi-font-weight: normal;">Thickness</b></span><span style="color: black;">(</span><span style="color: red;">10</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">textBlock.</span><span style="color: blue;">Text</span><span style="color: #444444;"> </span><span style="color: green;">=</span><span style="color: #444444;"> </span><span style="color: #666666;">"Welcome to the World of XAML"</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">stackPanel.</span><span style="color: blue;">Children</span><span style="color: #444444;">.</span><span style="color: blue;">Add</span><span style="color: black;">(</span><span style="color: #444444;">textBlock</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Create the Button</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b style="mso-bidi-font-weight: normal;"><span style="color: #444444;">Button</span></b><span style="color: #444444;"> button </span><span style="color: green;">=</span><span style="color: #444444;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"><span style="color: #444444;"> <b style="mso-bidi-font-weight: normal;">Button</b></span><span style="color: black;">()</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">button.</span><span style="color: blue;">Margin</span><span style="color: green;">=</span><span style="color: #444444;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"><span style="color: #444444;"> <b style="mso-bidi-font-weight: normal;">Thickness</b></span><span style="color: black;">(</span><span style="color: red;">20</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">button.</span><span style="color: blue;">Content</span><span style="color: #444444;"> </span><span style="color: green;">=</span><span style="color: #444444;"> </span><span style="color: #666666;">"<b style="mso-bidi-font-weight: normal;">OK</b>"</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">stackPanel.</span><span style="color: blue;">Children</span><span style="color: #444444;">.</span><span style="color: blue;">Add</span><span style="color: black;">(</span><span style="color: #444444;">button</span><span style="color: black;">)</span><span style="color: #444444;">; <o:p></o:p></span></span></pre>
<br />
<span style="font-family: "calibri";">As you can see is the XAML version much shorter and clearer to read. And that's the power of XAMLs expressiveness.</span><br />
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Properties as Elements</span><o:p></o:p><br />
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Properties are normally written inline as known from XML <Button Content="OK" />. But what if we want to put a more complex object as content like an image that has properties itself or maybe a whole grid panel? To do that we can use the property element syntax. This allows us to extract the property as an own child element.</span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Button></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Button.Content></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Image </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Source</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"Images/OK.png"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Width</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"50"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Height</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"50"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"> /></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: #444444; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></Button.Content></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></Button></span><span style="color: #444444; font-family: "courier new"; font-size: 10pt;"> </span></div>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="_Toc301698211"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Implicit Type conversion</span></a><o:p></o:p></h2>
<br />
<span style="font-family: "calibri";">A very powerful construct of WPF are implicit type converters. They do their work silently in the background. When you declare a BorderBrush, the word "Blue" is only a string. The implicit BrushConverter makes a System.Windows.Media.Brushes.Blue out of it. The same regards to the border thickness that is being converted implicit into a Thickness object. WPF includes a lot of type converters for built-in classes, but you can also write type converters for your own classes.</span><br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: maroon;"><Border </span><span style="color: red;">BorderBrush</span><span style="color: maroon;">=</span><span style="color: blue;">"Blue"</span><span style="color: maroon;"> </span><span style="color: red;">BorderThickness</span><span style="color: maroon;">=</span><span style="color: blue;">"0,10"</span><span style="color: maroon;">></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: maroon;"></Border></span><span style="color: #444444;"> </span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-family: "cambria"; font-size: medium;"> </span></span></span><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Markup Extensions</span><o:p></o:p></h2>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Markup extensions are dynamic placeholders for attribute values in XAML. They resolve the value of a property at runtime. Markup extensions are surrounded by curly braces (Example: Background="{StaticResource NormalBackgroundBrush}"). </span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: "calibri";"><span style="background: yellow; mso-highlight: yellow;">WPF has some built-in markup extensions, but you can write your own, by deriving from MarkupExtension.</span> </span></b></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">These are the built-in markup extensions: </span></div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>Binding</b><br />To bind the values of two properties together.<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>StaticResource</b><br />One time lookup of a resource entry<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>DynamicResource</b><br />Auto updating lookup of a resource entry<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>TemplateBinding</b><br />To bind a property of a control template to a dependency property of the control<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>x:Static</b><br />Resolve the value of a static property.<o:p></o:p></span></li>
<li class="MsoNormal" style="margin: 0in 0in 10pt; mso-list: l7 level1 lfo4; tab-stops: list .5in;"><span style="font-family: "calibri";"><b>x:Null</b><br />Return null</span></li>
</ul>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";"><b style="mso-bidi-font-weight: normal;">The first identifier within a pair of curly braces is the name of the extension</b>. All preceding identifiers are named parameters in the form of Property=Value. The following example shows a label whose Content is bound to the Text of the textbox. When you type a text into the text box, the text property changes and the binding markup extension automatically updates the content of the label.</span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><TextBox </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">x:Name</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"textBox"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">/></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Label </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">Content</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=</span><span style="color: blue; font-family: "courier new"; font-size: 10pt;">"{Binding Text, ElementName=textBox}"</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">/></span><span style="color: #444444; font-family: "courier new"; font-size: 10pt;"> </span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Namespaces</span><o:p></o:p></h2>
<br />
<span style="font-family: "calibri";">At the beginning of every XAML file you need to include two namespaces. <br />The first is http://schemas.microsoft.com/winfx/2006/xaml/presentation. It is mapped to all wpf controls in System.Windows.Controls. <br />The second is http://schemas.microsoft.com/winfx/2006/xaml it is mapped to System.Windows.Markup that defines the XAML keywords.<br />The mapping between an XML namespace and a CLR namespace is done by the XmlnsDefinition attribute at assembly level. You can also directly include a CLR namespace in XAML by using the clr-namespace: prefix.<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><Window </span><span style="color: red; font-family: "courier new"; font-size: 10pt;">xmlns</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: red; font-family: "courier new"; font-size: 10pt;">xmlns:x</span><span style="color: maroon; font-family: "courier new"; font-size: 10pt;">=”http://schemas.microsoft.com/winfx/2006/xaml”></span></div>
<div class="MsoNormal" style="background: rgb(247, 249, 250); line-height: 16.2pt; margin: 0in 5.25pt 0pt 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: maroon; font-family: "courier new"; font-size: 10pt;"></Window></span></div>
<h1 style="margin: 24pt 0in 0pt;">
<span style="color: #365f91; font-family: "cambria"; font-size: large;">Logical- and Visual Tree</span><o:p></o:p></h1>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="center" class="MsoNormal" style="line-height: 16.2pt; margin: 0in 0in 10pt; text-align: center;">
<span style="color: #444444; font-family: "segoe ui" , "sans-serif"; font-size: 10pt;"></span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Introduction</span><o:p></o:p></h2>
<br />
<h3 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: small;">Logical Tree</span></h3>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Elements of a WPF user interface are hierarchically related. This relation is called the <b style="mso-bidi-font-weight: normal;">LogicalTree</b>. </span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">In WPF, you add content to UI elements by setting properties of the objects that back those elements. For example, you add items to a </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.aspx"><span style="color: blue; font-family: "calibri";">ListBox</span></a><span style="font-family: "calibri";"> control by manipulating its </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.items.aspx"><span style="color: blue; font-family: "calibri";">Items</span></a><span style="font-family: "calibri";"> property. By doing this, you are placing items into the </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemcollection.aspx"><span style="color: blue; font-family: "calibri";">ItemCollection</span></a><span style="font-family: "calibri";"> that is the </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.items.aspx"><span style="color: blue; font-family: "calibri";">Items</span></a><span style="font-family: "calibri";"> property value. Similarly, to add objects to a </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.aspx"><span style="color: blue; font-family: "calibri";">DockPanel</span></a><span style="font-family: "calibri";">, you manipulate its </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel.children.aspx"><span style="color: blue; font-family: "calibri";">Children</span></a><span style="font-family: "calibri";"> property value. Here, you are adding objects to the </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.aspx"><span style="color: blue; font-family: "calibri";">UIElementCollection</span></a><span style="font-family: "calibri";">.</span></div>
<h4 style="margin: 10pt 0in 0pt;">
<i><span style="color: #4f81bd;"><span style="font-family: "cambria";">The Purpose of the Logical Tree</span></span></i></h4>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The logical tree exists so that content models can readily iterate over their possible child objects, and so that content models can be extensible. Also, the logical tree provides a framework for certain notifications, such as when all objects in the logical tree are loaded. Basically, the logical tree is an approximation of a run time object graph at the framework level, which excludes visuals, but is adequate for many querying operations against your own run time application's composition.<o:p></o:p></span></div>
<span style="font-family: "calibri";">In addition, both static and dynamic resource references are resolved by looking upwards through the logical tree for </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.resources.aspx"><span style="color: blue; font-family: "calibri";">Resources</span></a><span style="font-family: "calibri";"> collections on the initial requesting object, and then continuing up the logical tree and checking each </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkElement</span></a><span style="font-family: "calibri";"> (or </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkcontentelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkContentElement</span></a><span style="font-family: "calibri";">) for another Resources value that contains a </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.resourcedictionary.aspx"><span style="color: blue; font-family: "calibri";">ResourceDictionary</span></a><span style="font-family: "calibri";">, possibly containing that key. The logical tree is used for resource lookup when both the logical tree and the visual tree are present. For more information on resource dictionaries and lookup, see </span><a href="http://msdn.microsoft.com/en-us/library/ms750613.aspx"><span style="color: blue; font-family: "calibri";">Resources Overview</span></a><span style="font-family: "calibri";">.<o:p></o:p></span><br />
<br />
<i><span style="color: #4f81bd;"><span style="font-family: "cambria";">Composition of the Logical Tree<o:p></o:p></span></span></i><br />
<br />
<span style="font-family: "calibri";">The logical tree is defined at the WPF framework-level, which means that the WPF base element that is most relevant for logical tree operations is either </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkElement</span></a><span style="font-family: "calibri";"> or </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkcontentelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkContentElement</span></a><span style="font-family: "calibri";">. However, as you can see if you actually use the </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.logicaltreehelper.aspx"><span style="color: blue; font-family: "calibri";">LogicalTreeHelper</span></a><span style="font-family: "calibri";"> API, the logical tree sometimes contains nodes that are not either </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkElement</span></a><span style="font-family: "calibri";"> or </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkcontentelement.aspx"><span style="color: blue; font-family: "calibri";">FrameworkContentElement</span></a><span style="font-family: "calibri";">. For instance, the logical tree reports the </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.text.aspx"><span style="color: blue; font-family: "calibri";">Text</span></a><span style="font-family: "calibri";"> value of a </span><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx"><span style="color: blue; font-family: "calibri";">TextBlock</span></a><span style="font-family: "calibri";">, which is a string.<o:p></o:p></span><br />
<br />
<h3 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: small;">Visual Tree</span><o:p></o:p></h3>
<br />
<span style="font-family: "calibri";">The template of one element consists of multiple visual elements. This tree is called the <b style="mso-bidi-font-weight: normal;">VisualTree</b>. </span><br />
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">WPF differs between those two trees, because for some problems you only need the logical elements and for other problems you want all elements.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"><Window></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"><Grid></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"><Label </span><span style="color: red;">Content</span><span style="color: maroon;">=</span><span style="color: blue;">"Label"</span><span style="color: maroon;"> /></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"><Button </span><span style="color: red;">Content</span><span style="color: maroon;">=</span><span style="color: blue;">"Button"</span><span style="color: maroon;"> /></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"></Grid></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: maroon;"></Window></span><span style="color: #444444;"> </span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Why do we need two different kinds of trees?</span><o:p></o:p></h2>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">A WPF control consists of multiple, more primitive controls. A button - for example - consists of a border, a rectangle and a content presenter. These controls are visual children of the button.<br />When WPF renders the button, the element itself has no appearance, but it iterates through the visual tree and renders the visual children of it. This hierarchical relation can also be used to do hit-testing, layout etc.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";"> But sometimes you are not interested in the borders and rectangles of a controls' template. Particularly because the template can be replaced, and so you should not relate on the visual tree structure! Because of that you want a more robust tree that only contains the "real" controls - and not all the template parts. And that is the eligibility for the logical tree.</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">The Logical Tree</span><o:p></o:p></h2>
<br />
<span style="font-family: "calibri";">The logical tree describes the relations between elements of the user interface. The logical tree is responsible for:</span><br />
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l5 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Inherit DependencyProperty values</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l5 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Resolving DynamicResources references</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l5 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Looking up element names for bindings</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l5 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Forwaring RoutedEvents</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">The Visual Tree</span><o:p></o:p></h2>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The visual tree contains all logical elements including all visual elements of the template of each element.<br />The visual tree is responsible for:</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Rendering visual elements</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Propagate element opacity</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Propagate Layout- and RenderTransforms</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Propagate the IsEnabled property.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">Do Hit-Testing</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">6.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: "calibri";">RelativeSource (FindAncestor)</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Programmatically Find an Ancestor in the Visual Tree</span><span style="mso-bookmark: _Toc301698221;"></span><span style="color: #74633a; font-family: "calibri" , "sans-serif";"><o:p></o:p></span></h2>
<br />
<span style="font-family: "calibri";">If you are a child element of a user interface and you want to access data from a parent element, but you don't know how many levels up that elements is, it's the best solution to navigate up the tree until it finds an element of the requested type.</span><br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">This helper does exactly this. You can use almost the same code to navigate through the logical tree.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #2b91af;">class</span></b><span style="color: #444444;"> VisualTreeHelperExtensions<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> T FindAncestor</span><span style="color: green;"><</span><span style="color: #444444;">T</span><span style="color: green;">></span><span style="color: black;">(</span><span style="color: #444444;">DependencyObject dependencyObject</span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>where T </span><span style="color: green;">:</span><span style="color: #444444;"> </span><b><span style="color: #2b91af;">class</span></b><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DependencyObject target </span><span style="color: green;">=</span><span style="color: #444444;"> dependencyObject;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">do</span></b><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>target </span><span style="color: green;">=</span><span style="color: #444444;"> VisualTreeHelper.</span><span style="color: blue;">GetParent</span><span style="color: black;">(</span><span style="color: #444444;">target</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">while</span></b><span style="color: #444444;"> </span><span style="color: black;">(</span><span style="color: #444444;">target </span><span style="color: green;">!=</span><span style="color: #444444;"> </span><b><span style="color: #0600ff;">null</span></b><span style="color: #444444;"> </span><span style="color: green;">&&</span><span style="color: #444444;"> </span><span style="color: green;">!</span><span style="color: black;">(</span><span style="color: #444444;">target <a href="http://www.google.com/search?q=is+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">is</span></b></a> T</span><span style="color: black;">))</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> target </span><b><span style="color: #0600ff;">as</span></b><span style="color: #444444;"> T;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span><span style="color: #444444;"> </span></span><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The following example shows how to use the helper. It starts at this and navigates up the visual tree until it finds an element of type Grid. If the helper reaches the root element of the tree, it returns null.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>var grid </span><span style="color: green;">=</span><span style="color: #444444;"> VisualTreeHelperExtensions.</span><span style="color: blue;">FindAncestor</span><span style="color: green;"><</span><span style="color: #444444;">Grid</span><span style="color: green;">></span><span style="color: black;">(</span><b><span style="color: #0600ff;">this</span></b><span style="color: black;">)</span><span style="color: #444444;">;</span></span></pre>
<h1 style="line-height: 16.2pt; margin: 24pt 0in 0pt;">
<span style="color: #365f91; font-family: "cambria"; font-size: large;">Dependency Properties</span></h1>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="introduction"></a><span style="mso-bookmark: introduction;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Introduction</span></span><span style="mso-bookmark: introduction;"><o:p></o:p></span></h2>
<span style="mso-bookmark: introduction;"></span> <br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">When you begin to develop an application with WPF, you will soon stumble across DependencyProperties. They look quite similar to normal .NET properties, but the concept behind is much more complex and powerful.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";"><span style="background: yellow; mso-highlight: yellow;">The main difference is, that the value of a normal .NET property is <b style="mso-bidi-font-weight: normal;">read directly</b> from a private member in your class, whereas the value of a DependencyProperty is <b style="mso-bidi-font-weight: normal;">resolved dynamically</b> when calling the GetValue() method that is inherited from DependencyObject.</span></span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";"><span style="background: yellow; mso-highlight: yellow;">When you set a value of a dependency property it is <b style="mso-bidi-font-weight: normal;">not stored in a field</b> of your object, <b style="mso-bidi-font-weight: normal;">but in a dictionary</b> of keys and values provided by the base class DependencyObject. The key of an entry is the name of the property and the value is the value you want to set.</span></span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="font-size: medium;"><span style="color: #4f81bd;"><span style="font-family: "cambria";">Advantages of Dependency Properties</span></span></span></h2>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The advantages of dependency properties are</span></div>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18pt; margin: 0in 0in 12pt 0.5in; mso-add-space: auto; mso-list: l8 level1 lfo10; mso-margin-top-alt: auto; text-indent: -0.25in;">
<b style="mso-bidi-font-weight: normal;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span></b><span style="font-family: "calibri";"><b style="mso-bidi-font-weight: normal;">Reduced memory footprint</b><br />It's a huge dissipation to store a field for each property when you think that over 90% of the properties of a UI control typically stay at its initial values. Dependency properties solve these problems by only store modified properties in the instance. The default values are stored once within the dependency property.</span></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18pt; margin: 0in 0in 12pt 0.5in; mso-add-space: auto; mso-list: l8 level1 lfo10; mso-margin-top-alt: auto; text-indent: -0.25in;">
<b style="mso-bidi-font-weight: normal;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span></b><span style="font-family: "calibri";"><b style="mso-bidi-font-weight: normal;">Value inheritance<br />
</b>When you access a dependency property the value is resolved by using a value resolution strategy. <span style="background: yellow; mso-highlight: yellow;">If no local value is set, the dependency property navigates up the logical tree until it finds a value. When you set the FontSize on the root element it applies to all textblocks below except you override the value.</span></span></div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18pt; margin: 0in 0in 12pt 0.5in; mso-add-space: auto; mso-list: l8 level1 lfo10; mso-margin-top-alt: auto; text-indent: -0.25in;">
<b style="mso-bidi-font-weight: normal;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: "calibri";">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span></b><span style="font-family: "calibri";"><b style="mso-bidi-font-weight: normal;">Change notification<br />
</b>Dependency properties have a built-in change notification mechanism. By registering a callback in the property metadata you get notified, when the value of the property has been changed. This is also used by the data binding.</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="valueres"></a><span style="mso-bookmark: valueres;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Value resolution strategy</span></span><span style="mso-bookmark: _Toc301698224;"></span><span style="mso-bookmark: valueres;"><span style="color: #74633a; font-family: "calibri" , "sans-serif"; font-size: 14pt; line-height: 115%;"><o:p></o:p></span></span></h2>
<span style="mso-bookmark: valueres;"></span> <br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Every time you access a dependency property, it internally resolves the value by following the precedence from high to low. It checks if a local value is available, if not if a <b style="mso-bidi-font-weight: normal;">custom style trigger</b> is active... and continues until it founds a value. At last the default value is always available.</span></div>
<h2 style="margin: 10pt 0in 0pt;">
<span style="mso-bookmark: howitworks;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">The magic behind it</span></span><span style="mso-bookmark: _Toc301698225;"></span><span style="mso-bookmark: howitworks;"><span style="color: #74633a; font-family: "calibri" , "sans-serif"; font-size: 14pt; line-height: 115%;"><o:p></o:p></span></span></h2>
<span style="mso-bookmark: howitworks;"></span> <br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">Each WPF control registers a set of</span><span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"> </span><code><b style="mso-bidi-font-weight: normal;">DependencyProperties</b></code><span style="font-family: "segoe ui";"> </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">to the static</span><span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"> </span><code><b style="mso-bidi-font-weight: normal;">DependencyProperty</b></code><span style="font-family: "segoe ui";"> </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">class. Each of them consists of a key - that must be unique per type - and a metadata that contain callbacks and a default value.</span><br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">All types that want to use</span><span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"> </span><code><b style="mso-bidi-font-weight: normal;">DependencyProperties</b></code><span style="font-family: "segoe ui";"> </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">must derive from</span><span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"> </span><code><b style="mso-bidi-font-weight: normal;">DependencyObject</b></code><span style="font-family: "segoe ui";">. </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">This base class defines a key, value dictionary that contains local values of dependency properties. The key of an entry is the key defined with the dependency property.</span><br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">When you access a dependency property over its .NET property wrapper, it internally calls</span><span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"> </span><code><b style="mso-bidi-font-weight: normal;">GetValue(DependencyProperty)</b></code><span style="font-family: "segoe ui";"> </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">to access the value. This method resolves the value by using a value resolution strategy that is explained in detail below. </span><br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">If a local value is available, it reads it directly from the dictionary. If no value is set if goes up the logical tree and searches for an inherited value. If no value is found it takes the default value defined in the property metadata. This sequence is a bit simplified, but it shows the main concept. <o:p></o:p></span><br />
<br />
<h2 style="margin: 10pt 0in 0pt;">
<span style="mso-bookmark: creation;"><a href="http://www.blogger.com/" name="_Toc301698226"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">How to create a DependencyProperty</span></a></span><span style="mso-bookmark: _Toc301698226;"></span><span style="mso-bookmark: creation;"><span style="color: #74633a; font-family: "calibri" , "sans-serif"; font-size: 14pt; line-height: 115%;"><o:p></o:p></span></span></h2>
<span style="mso-bookmark: creation;"></span> <br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">To create a DependencyProperty, add a static field of type </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">DepdencyProperty</span></code><span style="font-family: "calibri";"> to your type and call </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">DependencyProperty.Register()</span></code><span style="font-family: "calibri";"> to create an instance of a dependency property. The name of the DependendyProperty must always end with ...Property. This is a naming convention in WPF.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">To make it accessible as a normal .NET property you need to add a property wrapper. This wrapper does nothing else than internally getting and setting the value by using the GetValue() and SetValue() Methods inherited from DependencyObject and passing the DependencyProperty as key.</span></div>
<span style="font-size: x-small;"><span style="color: #444444;"><span style="font-family: "segoe ui";"><b>Important: Do not add any logic to these properties, because they are only called when you set the property from code. If you set the property from XAML the SetValue() method is called directly.</b></span></span></span><br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">If you are using Visual Studio, you can type propdp and hit 2x tab to create a dependency property.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Dependency Property</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">readonly</span></b><span style="color: #444444;"> DependencyProperty CurrentTimeProperty </span><span style="color: green;">=</span><span style="color: #444444;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DependencyProperty.</span><span style="color: blue;">Register</span><span style="color: black;">(</span><span style="color: #444444;"> </span><span style="color: #666666;">"CurrentTime"</span><span style="color: #444444;">, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">typeof</span></b></a></span><span style="color: black;">(</span><span style="color: #444444;">DateTime</span><span style="color: black;">)</span><span style="color: #444444;">,<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-size: x-small;"> </span></span><a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">typeof</span></span></b></a></span><span style="font-size: x-small;"><span style="color: black;">(</span><span style="color: #444444;">MyClockControl</span><span style="color: black;">)</span><span style="color: #444444;">, <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">new</span></b></a> FrameworkPropertyMetadata</span><span style="color: black;">(</span><span style="color: #444444;">DateTime.</span><span style="color: blue;">Now</span><span style="color: black;">))</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// .NET Property wrapper</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> DateTime CurrentTime<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>get </span><span style="color: black;">{</span><span style="color: #444444;"> </span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> </span><span style="color: black;">(</span><span style="color: #444444;">DateTime</span><span style="color: black;">)</span><span style="color: #444444;">GetValue</span><span style="color: black;">(</span><span style="color: #444444;">CurrentTimeProperty</span><span style="color: black;">)</span><span style="color: #444444;">; </span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>set </span><span style="color: black;">{</span><span style="color: #444444;"> SetValue</span><span style="color: black;">(</span><span style="color: #444444;">CurrentTimeProperty, value</span><span style="color: black;">)</span><span style="color: #444444;">; </span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Each DependencyProperty provides callbacks for change notification, value coercion and validation. These callbacks are registered on the dependency property.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"> FrameworkPropertyMetadata</span></span><span style="font-size: x-small;"><span style="color: black;">(</span><span style="color: #444444;"> DateTime.</span><span style="color: blue;">Now</span><span style="color: #444444;">, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span>OnCurrentTimePropertyChanged, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>OnCoerceCurrentTimeProperty </span><span style="color: black;">)</span><span style="color: #444444;">,<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>OnValidateCurrentTimeProperty </span><span style="color: black;">)</span><span style="color: #444444;">;</span></span></pre>
<h3 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: small;">Value Changed Callback</span></h3>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The change notification callback is a static method, that is called everytime when the value of the TimeProperty changes. The new value is passed in the EventArgs, the object on which the value changed is passed as the source.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">private</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">void</span></b><span style="color: #444444;"> OnCurrentTimePropertyChanged</span><span style="color: black;">(</span><span style="color: #444444;">DependencyObject source, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DependencyPropertyChangedEventArgs e</span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>MyClockControl control </span><span style="color: green;">=</span><span style="color: #444444;"> source </span><b><span style="color: #0600ff;">as</span></b><span style="color: #444444;"> MyClockControl;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DateTime time </span><span style="color: green;">=</span><span style="color: #444444;"> </span><span style="color: black;">(</span><span style="color: #444444;">DateTime</span><span style="color: black;">)</span><span style="color: #444444;">e.</span><span style="color: blue;">NewValue</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green;">// Put some update logic here...</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<h3 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: small;">Coerce Value Callback</span></h3>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">The coerce callback allows you to adjust the value if its outside the boundaries without throwing an exception. A good example is a progress bar with a Value set below the Minimum or above the Maximum. In this case we can coerce the value within the allowed boundaries. In the following example we limit the time to be in the past.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">private</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #2b91af;">object</span></b><span style="color: #444444;"> OnCoerceTimeProperty</span><span style="color: black;">(</span><span style="color: #444444;"> DependencyObject sender, </span><b><span style="color: #2b91af;">object</span></b><span style="color: #444444;"> data </span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">if</span></b><span style="color: #444444;"> </span><span style="color: black;">((</span><span style="color: #444444;">DateTime</span><span style="color: black;">)</span><span style="color: #444444;">data </span><span style="color: green;">></span><span style="color: #444444;"> DateTime.</span><span style="color: blue;">Now</span><span style="color: #444444;"> </span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>data </span><span style="color: green;">=</span><span style="color: #444444;"> DateTime.</span><span style="color: blue;">Now</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> data;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<h3 style="margin: 10pt 0in 0pt;">
<span style="color: #4f81bd; font-family: "cambria"; font-size: small;">Validation Callback</span></h3>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">In the validate callback you check if the set value is valid. If you return false, an ArgumentException will be thrown. In our example demand, that the data is an instance of a DateTime.</span></div>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">private</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #2b91af;">bool</span></b><span style="color: #444444;"> OnValidateTimeProperty</span><span style="color: black;">(</span><b><span style="color: #2b91af;">object</span></b><span style="color: #444444;"> data</span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> data <a href="http://www.google.com/search?q=is+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">is</span></b></a> DateTime;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="readonly"></a><span style="mso-bookmark: readonly;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Readonly DependencyProperties</span></span></h2>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Some dependency property of WPF controls are readonly. They are often used to report the state of a control, like the </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">IsMouseOver</span></code><span style="font-family: "calibri";"> property. Is does not make sense to provide a setter for this value.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Maybe you ask yourself, why not just use a normal .NET property? One important reason is that you cannot set triggers on normal .NET propeties.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "calibri";">Creating a read only property is similar to creating a regular DependencyProperty. Instead of calling </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">DependencyProperty.Register()</span></code><span style="font-family: "calibri";"> you call </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">DependencyProperty.RegisterReadonly()</span></code><span style="font-family: "calibri";">. This returns you a </span><code><span style="font-size: 10pt; line-height: 115%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">DependencyPropertyKey</span></code><span style="font-family: "calibri";">. This key should be stored in a private or protected static readonly field of your class. The key gives you access to set the value from within your class and use it like a normal dependency property.</span></div>
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">Second thing to do is registering a public dependency property that is assigned to </span><span style="font-size: x-small;"><span style="color: #444444;"><code>DependencyPropertyKey.DependencyProperty</code><span style="font-family: "segoe ui";">. </span></span></span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">This property is the readonly property that can be accessed from external.</span><br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Register the private key to set the value</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">private</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">readonly</span></b><span style="color: #444444;"> DependencyPropertyKey IsMouseOverPropertyKey </span><span style="color: green;">=</span><span style="color: #444444;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DependencyProperty.</span><span style="color: blue;">RegisterReadOnly</span><span style="color: black;">(</span><span style="color: #666666;">"IsMouseOver"</span><span style="color: #444444;">, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-size: x-small;"> </span></span><a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">typeof</span></span></b></a></span><span style="font-size: x-small;"><span style="color: black;">(</span><b><span style="color: #2b91af;">bool</span></b><span style="color: black;">)</span><span style="color: #444444;">, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">typeof</span></b></a></span><span style="color: black;">(</span><span style="color: #444444;">MyClass</span><span style="color: black;">)</span><span style="color: #444444;">, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-size: x-small;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"> FrameworkPropertyMetadata</span></span><span style="font-size: x-small;"><span style="color: black;">(</span><b><span style="color: #0600ff;">false</span></b><span style="color: black;">))</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// Register the public property to get the value</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">readonly</span></b><span style="color: #444444;"> DependencyProperty IsMouseoverProperty </span><span style="color: green;">=</span><span style="color: #444444;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>IsMouseOverPropertyKey.</span><span style="color: blue;">DependencyProperty</span><span style="color: #444444;">;<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: green;">// .NET Property wrapper</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #2b91af;">int</span></b><span style="color: #444444;"> IsMouseOver<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>get </span><span style="color: black;">{</span><span style="color: #444444;"> </span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> </span><span style="color: black;">(</span><b><span style="color: #2b91af;">bool</span></b><span style="color: black;">)</span><span style="color: #444444;">GetValue</span><span style="color: black;">(</span><span style="color: #444444;">IsMouseoverProperty</span><span style="color: black;">)</span><span style="color: #444444;">; </span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">private</span></b><span style="color: #444444;"> set </span><span style="color: black;">{</span><span style="color: #444444;"> SetValue</span><span style="color: black;">(</span><span style="color: #444444;">IsMouseOverPropertyKey, value</span><span style="color: black;">)</span><span style="color: #444444;">; </span><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="attached"></a><span style="mso-bookmark: attached;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Attached Properties</span></span> </h2>
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">Attached properties are a special kind of</span><span style="color: #444444; font-family: "segoe ui"; font-size: x-small;"> DependencyProperties. </span><span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">They allow you to attach a value to an object that does not know anything about this value.</span><br />
<br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">A good example for this concept is layout panels. Each layout panel needs different data to align its child elements. The Canvas needs Top and Left, The DockPanel needs Dock, etc. Since you can write your own layout panel, the list is infinite. So you see, it's not possible to have all those properties on all WPF controls.</span><br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">The solution are attached properties. They are defined by the control that needs the data from another control in a specific context. For example an element that is aligned by a parent layout panel.</span><br />
<br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">To set the value of an attached property, add an attribute in XAML with a prefix of the element that provides the attached property. To set the the Canvas.Top and Canvas.Left property of a button aligned within a Canvas panel, you write it like this:</span><br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: maroon;"><Canvas></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: maroon;"><Button Canvas.</span><span style="color: red;">Top</span><span style="color: maroon;">=</span><span style="color: blue;">"20"</span><span style="color: maroon;"> Canvas.</span><span style="color: red;">Left</span><span style="color: maroon;">=</span><span style="color: blue;">"20"</span><span style="color: maroon;"> </span><span style="color: red;">Content</span><span style="color: maroon;">=</span><span style="color: blue;">"Click me!"</span><span style="color: maroon;">/></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: maroon;"></Canvas></span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">readonly</span></b><span style="color: #444444;"> DependencyProperty TopProperty </span><span style="color: green;">=</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>DependencyProperty.</span><span style="color: blue;">RegisterAttached</span><span style="color: black;">(</span><span style="color: #666666;">"Top"</span><span style="color: #444444;">, <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-size: x-small;"> </span></span><a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">typeof</span></span></b></a></span><span style="font-size: x-small;"><span style="color: black;">(</span><b><span style="color: #2b91af;">double</span></b><span style="color: black;">)</span><span style="color: #444444;">, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">typeof</span></b></a></span><span style="color: black;">(</span><span style="color: #444444;">Canvas</span><span style="color: black;">)</span><span style="color: #444444;">,<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="mso-spacerun: yes;"><span style="font-size: x-small;"> </span></span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;"><span style="font-size: x-small;">new</span></span></b></a><span style="font-size: x-small;"> FrameworkPropertyMetadata</span></span><span style="font-size: x-small;"><span style="color: black;">(</span><span style="color: #444444;">0d,<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>FrameworkPropertyMetadataOptions.</span><span style="color: blue;">Inherits</span><span style="color: black;">))</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">void</span></b><span style="color: #444444;"> SetTop</span><span style="color: black;">(</span><span style="color: #444444;">UIElement element, </span><b><span style="color: #2b91af;">double</span></b><span style="color: #444444;"> value</span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>element.</span><span style="color: blue;">SetValue</span><span style="color: black;">(</span><span style="color: #444444;">TopProperty, value</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">public</span></b><span style="color: #444444;"> </span><b><span style="color: #0600ff;">static</span></b><span style="color: #444444;"> </span><b><span style="color: #2b91af;">double</span></b><span style="color: #444444;"> GetTop</span><span style="color: black;">(</span><span style="color: #444444;">UIElement element</span><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><b><span style="color: #0600ff;">return</span></b><span style="color: #444444;"> </span><span style="color: black;">(</span><b><span style="color: #2b91af;">double</span></b><span style="color: black;">)</span><span style="color: #444444;">element.</span><span style="color: blue;">GetValue</span><span style="color: black;">(</span><span style="color: #444444;">TopProperty</span><span style="color: black;">)</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="changes"></a><span style="mso-bookmark: changes;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">Listen to dependency property changes</span></span><span style="mso-bookmark: _Toc301698232;"></span><span style="mso-bookmark: changes;"><span style="color: #74633a;"><o:p></o:p></span></span></h2>
<span style="mso-bookmark: changes;"></span> <br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">If you want to listen to changes of a dependency property, you can subclass the type that defines the property and override the property metadata and pass an PropertyChangedCallback. But an much easier way is to get the DependencyPropertyDescriptor and hookup a callback by calling AddValueChanged().</span><br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">DependencyPropertyDescriptor textDescr </span><span style="color: green;">=</span><span style="color: #444444;"> DependencyPropertyDescriptor.<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue;">FromProperty</span><span style="color: black;">(</span><span style="color: #444444;">TextBox.</span><span style="color: blue;">TextProperty</span><span style="color: #444444;">, <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><b><span style="color: blue; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: major-fareast;">typeof</span></b></a></span><span style="color: black;">(</span><span style="color: #444444;">TextBox</span><span style="color: black;">))</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="color: #444444;"><span style="font-size: x-small;"> <o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><b><span style="color: #0600ff;">if</span></b><span style="color: #444444;"> </span><span style="color: black;">(</span><span style="color: #444444;">textDescr</span><span style="color: green;">!=</span><span style="color: #444444;"> </span><b><span style="color: #0600ff;">null</span></b><span style="color: black;">)</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span>textDescr.</span><span style="color: blue;">AddValueChanged</span><span style="color: black;">(</span><span style="color: #444444;">myTextBox, </span><b><span style="color: #2b91af;">delegate</span></b><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">{</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green;">// Add your propery changed logic here...</span><span style="color: #444444;"><o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;"><span style="mso-spacerun: yes;"> </span></span><span style="color: black;">})</span><span style="color: #444444;">;<o:p></o:p></span></span></pre>
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: black;">}</span><span style="color: #444444;"> </span></span></pre>
<h2 style="margin: 10pt 0in 0pt;">
<a href="http://www.blogger.com/" name="clear"></a><span style="mso-bookmark: clear;"><span style="color: #4f81bd; font-family: "cambria"; font-size: medium;">How to clear a local value</span></span><span style="mso-bookmark: _Toc301698233;"></span><span style="mso-bookmark: clear;"><span style="color: #74633a;"><o:p></o:p></span></span></h2>
<span style="mso-bookmark: clear;"></span> <br />
<span style="font-family: "calibri" , "sans-serif"; font-size: 11pt;">Because null is also a valid local value, there is the constant DependencyProperty.UnsetValue that describes an unset value.</span><br />
<pre style="background: rgb(247, 249, 250); line-height: 16.2pt;"><span style="font-size: x-small;"><span style="color: #444444;">button1.</span><span style="color: blue;">ClearValue</span><span style="color: black;">(</span><span style="color: #444444;"> Button.</span><span style="color: blue;">ContentProperty</span><span style="color: #444444;"> </span><span style="color: black;">)</span><span style="color: #444444;">;</span></span></pre>
<div style="background: rgb(247, 249, 250); line-height: 16.2pt;">
<br /></div>
<div style="background: rgb(247, 249, 250); line-height: 16.2pt;">
<br /></div>
<div style="background: rgb(247, 249, 250); line-height: 16.2pt;">
For details click <a href="http://www.wpftutorial.net/DependencyProperties.html">here</a>.</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com1tag:blogger.com,1999:blog-1142905323557775680.post-55049332488476004362016-06-10T21:04:00.000+05:302016-11-04T22:13:58.330+05:30Installing and running Apache Kafka on Linux system<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="372">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<h1>
Apache Kafka </h1>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Apache
Kafka is publishing-subscribing messaging rethought as a distributed commit
log.</span><span style="font-family: "times new roman" , serif; font-size: 12.0pt;"></span></div>
<h2>
Fast</h2>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">A
single Kafka broker can handle hundreds of megabytes of reads and writes per
second from thousands of clients.</span><span style="font-family: "times new roman" , serif; font-size: 12.0pt;"></span></div>
<h2>
Scalable</h2>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Kafka
is designed to allow a single cluster to serve as the central data backbone for
a large organization. It can be elastically and transparently expanded without
downtime. Data streams are partitioned and spread over a cluster of machines to
allow data streams larger than the capability of any single machine and to
allow clusters of coordinated consumers</span><span style="font-family: "times new roman" , serif; font-size: 12.0pt;"></span></div>
<h2>
Durable</h2>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Messages
are persisted on disk and replicated within the cluster to prevent data loss.
Each broker can handle terabytes of messages without performance impact.</span></div>
<h2>
Distributed by Design</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Kafka has a modern
cluster-centric design that offers strong durability and fault-tolerance
guarantees.</span></div>
<h1>
Working with Kafka:</h1>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">This assumes you are starting
fresh and have no existing Kafka or ZooKeeper data.</span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;"> </span><span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">See</span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;"> <a href="http://kafka.apache.org/documentation.html#quickstart"><span style="color: #4078c0;">http://kafka.apache.org/documentation.html#quickstart</span></a> </span><span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">for</span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;"> </span><span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">more</span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;"> </span><span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">details</span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;">.</span></div>
<h2>
Install Java</h2>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">sudo apt-get install python-software-properties</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">sudo add-apt-repository ppa:webupd8team/java</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">sudo apt-get update</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">sudo apt-get install oracle-java8-installer</span></div>
<h2>
Download Kafka</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;">Download latest version from <a href="http://kafka.apache.org/downloads.html">here</a>. If link is not
clickable then go to below given url and download latest version of Kafka.</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;"><a href="http://kafka.apache.org/downloads.html">http://kafka.apache.org/downloads.html</a>
</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;">I am installing Kafka 2.11-0.10.0.0</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">cd /usr/src/</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">wget http://mirror.stjschools.org/public/apache/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">tar -xzf kafka_2.9.2-0.8.1.tgz</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">cd kafka_2.9.2-0.8.1</span></div>
<h2>
Running Kafka</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 12.0pt;">Kafka uses <a href="http://zookeeper.apache.org/"><span style="color: #4078c0;">Zookeeper</span></a> to
provide a centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services.</span></div>
<h2>
To Start Zookeeper</h2>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/zookeeper-server-start.sh config/zookeeper.properties</span></div>
<h2>
To Start Kafka</h2>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-server-start.sh config/server.properties</span></div>
<h2>
Create a Topic</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">This will create a topic
called Test</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-topics.sh --create --zookeeper localhost:2181
--replication-factor 1 --partitions 1 --topic test</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">This topic can then be view
using:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-topics.sh --list --zookeeper localhost:2181</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Alternatively, instead of
manually creating topics you can also configure your brokers to auto-create
topics when a non-existent topic is published to.</span></div>
<h2>
Create Messages - Producer</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Kafka comes with a command
line client that will take input from a file or from standard input and send it
out as messages to the Kafka cluster. By default each line will be sent as a
separate message.</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Run the producer and then
type a few messages into the console to send to the server.</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-console-producer.sh --broker-list localhost:9092 --topic
test</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">This is a message</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">This is another message</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">And so is this</span></div>
<h2>
Read Messages - Consumer</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Kafka also has a command line
consumer that will dump out messages to standard output.</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic
test --from-beginning</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">This is a message</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">This is another message</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">And so is this</span></div>
<h2>
Setting up a multi-broker cluster</h2>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Kafka can run with multiple
brokers. Let’s make it a three broker cluster</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">cp config/server.properties config/server-1.properties </span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">cp config/server.properties config/server-2.properties</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Now edit these new files and
set the following properties:</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">config/server-1.properties:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;"> </span>broker.id=1</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;"> </span>port=9093</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;">
</span>log.dir=/tmp/kafka-logs-1</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">config/server-2.properties:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;"> </span>broker.id=2</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;"> </span>port=9094</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;">
</span>log.dir=/tmp/kafka-logs-2</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Each kafka instance has a
separate port (default is 9092).</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">The broker.id property is the
unique and permanent name of each node in the cluster. We have to override the
port and log directory only because we are running these all on the same
machine and we want to keep the brokers from all trying to register on the same
port or overwrite each others data.</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">We already have Zookeeper and
our single node started, so we just need to start the two new nodes:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-server-start.sh config/server-1.properties &</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-server-start.sh config/server-2.properties &</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Now create a new topic with a
replication factor of three</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-topics.sh --create --zookeeper localhost:2181
--replication-factor 3 --partitions 1 --topic my-replicated-topic</span></div>
<h2>
How to see what the broker is doing</h2>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic
my-replicated-topic</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">This returns:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">Topic:my-replicated-topic<span style="mso-spacerun: yes;">
</span>PartitionCount:1<span style="mso-spacerun: yes;">
</span>ReplicationFactor:3 Configs:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;"><span style="mso-spacerun: yes;"> </span>Topic:
my-replicated-topic<span style="mso-spacerun: yes;"> </span>Partition: 0<span style="mso-spacerun: yes;"> </span>Leader: 2<span style="mso-spacerun: yes;">
</span>Replicas: 2,1,0 Isr: 2,1,0</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">Here is an explanation of
output. The first line gives a summary of all the partitions, each additional
line gives information about one partition. Since we have only two partitions
for this topic there are only two lines.</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">*<strong>leader</strong> is the node responsible for
all reads and writes for the given partition. Each node will be the leader for
a randomly selected portion of the partitions.</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">*<strong>replicas</strong> is the list of nodes that
replicate the log for this partition regardless of whether they are the leader
or even if they are currently alive.</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">*<strong>isr</strong> is the set of
"in-sync" replicas. This is the subset of the replicas list that is
currently alive and caught-up to the leader. </span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<br /></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">We can run the same command
on the original topic we created to see where it is:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic
test</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; margin-bottom: 12.0pt;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">This returns:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">Topic:test<span style="mso-spacerun: yes;">
</span>PartitionCount:1<span style="mso-spacerun: yes;">
</span>ReplicationFactor:1 Configs:</span></div>
<div class="MsoNormal" style="background: #F7F7F7; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="border: none 1.0pt; color: #333333; font-family: "consolas"; font-size: 10.0pt; padding: 0in;">Topic: test Partition: 0<span style="mso-spacerun: yes;">
</span>Leader: 0<span style="mso-spacerun: yes;"> </span>Replicas: 0 Isr: 0</span></div>
<div class="MsoNormal" style="line-height: 19.2pt; mso-margin-bottom-alt: auto;">
<span style="background: white; color: #333333; font-family: "arial" , sans-serif; font-size: 13.0pt;">The original topic has no
replicas and is on server 0, which was the only server in our cluster when we
created it.</span></div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com1tag:blogger.com,1999:blog-1142905323557775680.post-6801721249167123152016-03-18T22:28:00.000+05:302016-03-18T22:55:18.188+05:30How to select the nth row in a SQL database table?A very good interview question is "Write query to find nth top salary of a department.". Now, you would be thinking about how to resolve it without using TOP keyword using SQL Server.<br />
<br />
I tried it and found a kind of solution. Keep in mind there could be different solutions for this but the one I am giving here is by using ROW_NUMBER() function.<br />
<br />
So here we go:<br />
<h2>
<span style="font-size: small;">Salary Table:</span></h2>
<div style="text-align: center;">
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcUAAAErCAIAAAAg7Q8hAAAgAElEQVR4nO2d/Wsd153G5+9paxO7YNT7DxiWUnCIcXB+qiQumELBhBAwwQjDQiu7RIGAkU2oIV0Qi5HlLb6QhbIEBWFowKlf6gUtTRw5VrteiOPGsS3J3P1h3s45c2buM9Lojs7o8+HijM49M3POc77z3HnL+UbftcS/j+JZJT8ExfPQeBEUL4NiIyg2oQ7Rkza4efPmv5Vz5cqVP//5z/hpi7TtkPVo2yHr0bZD1qNtgwqM6OnYuXnz5pVKRpopfrrbtO2Q9WjbIevRtkPWo22DCoyo2toAAEAkunLlSiuX/AAAHQM/BQBohgb8tM3Ta9hPEIewF9gtP423/n8Au09FKMdfDQHGQoVnbtNPzeD+O8Du40QdTgotUmab2/HTbJWHDh+/FSW89bGnMPrpzGdGqfHXiMoN8fFbO9hqSYNL+Gzmp9FbH9ddq2RD29iCoaMiu7NDY/RqNPOtjx9+NvNT7/gZypstKLTms5m3qlrn+OmVK1eGw9W5XhRFUX8Qx/mgHxl/xl/25laT8qQ4qdTr93uRS145Jd20UdybW80PLacFBfLV4ipJfWefZbV3j0Hf7Undlb1d2NFmh8NUn/5gu5uymlYi4o4b2ZifxvW/KvLp2cPRyd+ny2fjpd+fjKLDZz/Na6R//P5kXp5SWnnnfHr2cBSdPOnZqYqvwRV7S+rWWatJzP3+/mQUpSMzqj15y+uQrWXGgPn1ycOHrZH1LH969nB08uzZk2fPljfR9NPstDT3zGHuVcmf+WFj+Gm8aBxM1hZKjrb8IC87fP1HrtMC9xC2bL58796t7tRvd+6n6crWL0q7fmqP06C/t/00rvw/Xj56Mzr83p+soj+9dzh68yNvQbF2ReWm8DRxN9b903uH06o72eNOsPdbJbuF0fIa5Gt5h+yjNw+/956134/ezGs5y1HVkGd+al3jG560OteLol6vZ/5pmmh/UHRTyU9LDWzQT3botzdzS55juNxjK491nwuPGaeRhoSt+mlhKEvYC34a1/zvUi6diKJDZz7JCz45cyg6ccmq88mZQ3GVSyfsunJlY/mTM4eSs/p4xUsnokMnThyKokOHzG3laxR2auzb3FBWcOjMmXSVsnW9W/O1tpTqZpf299KJrLJdJ/nS3G8m7qUT0aEzl7LeOS0zW+4R19bIt1a+krmdE5ec9jj7yUbn0JlP0g54yR6wlh0cg34U9ebmUvMzXDCxoH7RTRU/dS7Rs69W53pRb2611G2ts6WiC/qPaqM0Mf9ez9iv53LWbF68otXgeH37ZDJttXNeb+/F2lb+s5TdEimc4+cmmN1KkU3L0bhqU4YE/hN+/x0Z44us+TWks7q8Uz+Nq90dweDd16Ioio5fTP967d1BocLxi3fv3r14PLK/Uytny0bhxeOvvTu4e/fi8Sgtung8bYSz6O7DqZH+nRQM3n0tKu5uBObmlLWqm13e36zyxeOvvZaIl6ro7NdUMt3Z4N3X3Lb5VSu0tnwtc3/ZDo9fLKzlSOTfU5GSp0/ZsZz4WnyWOrea/tc5BAvO5/fTwoEd1zAqr871Cr5d0rJ8q3m1snOpop/m+7V+HMxbxqax9gepKaQbL7ijffbn2ULeOPMWSq6o30/zm8+uVqMo3I8pld29HHGFLzqkR9qSKxCjv9YPjd334XCHfhrX+ULkj+8cjKI3PowX3vjQ/e7gO3/84osvPnwjihfMtZTK6fIf3zloBH30xoeFavHWPnwj309hp0aD8y+y3VqreBuc79sg23X5Ht36Fc0u72/azg/fOPjOh/Fymbz+crOhboGjSfxlgtOjwmbyZo9sj7M8grJH+UmoD1J/S/6e6zuOEvXnbJ9xvaDoaMUCy70Nf3NPFfNj0/RT7yWyx1pMPzW8o1BcfDJk+KnnIZF7C6T4+M3aQtzN+BQxOaX1nKwN/TbtMzxbH7vP7o+Cd1NW38vvajs30k2Xdf3U+cqRzvqBydu8fT+NK3xeh2tvH4xe/yD/b+GLzz//4PXo4NvXfCuNqJwuF6o727z29sGDb1+L//VW8LQ5Slud18pWqVrX5oPX84Ypa1U3u6K/ca0PXj/49rXPr7198PUP8tXs/fqVLG7RbHlBk+QrW1HfWkazP3jdOkzNQTQlKq7uoeq9qPjw6PXsoz27j2oesKtFRxWv9+0De67wlN53YBfun2ZVRjzgkv3Ub8tlXRq4Z7npaXzR2I0fpcRN+v2+3Rn3x8G26cpO+vrcpJ8OnR8+x0bTBc9XrhzJZoy+D4fb9tP425sK758+fTVeunr6QHQg/uP9Y1F07P20xrEoLb/5/rFsMd9CWeWrpw+kX+TFZoVsFaPg6ukDB44dO2BWcXbqtuHq6bh23o6rpw8Yuys02E+6GWsXyoLZbFOHsv7evHr6wIEDyc6unj5w7Ngxn7ymrMZGDFF9LbeLsu0ZY1uxVqGtxT4awSLoOuolU+e2WXbK4bzrZDhT1Zli8WowN1TfIVzxuN17Ue0YiNOG0X5qtcF9YWzOf6WdP6or3ATwbsFYI7/09t5BcN6YKLlHUY17F6Xket8xWef2Rm9udXWub59YWr8Xzk2D9OfF/qogXRZMppzb8dMaZpoeRAnmcWoUGweOUWqW+ysb5ceOHbNs1tyja3mGkZhVI8PsM/+0252WHDh92u96lRgWUd9P46bmAr5f3l/b3SynM+V1f0KOHTtQHCW35a4m6b7dnyhzLaN9HoO1B9/8vSi2w0Z4Yz+N+fTYLXim9xK58JaqWbnsSYfHICpfX/Je4RaeTdlPidLdlPip2wP7EUrJnUv3CrjsmrewE/Oerfuer7tK8Rv5LQTPemWbKjyPcryzpCPG06XCvY78q5KfIkfN2n4aly83xvlfRNEvzu9G5aqt7Hgj538R/eTXCzVXWvj1T+qvtCfYXsvrrWXWHr0m//sTtI1z73Q4rOunceF/Ncxvfh5FURT9+Fd/aLqyjz/86sfbX9lsxna28odf/Tj6+W92uvM22F7L9bV+8/Moq2kue8FMoX08dlrHT+OS/wyYK6d+FEXRj05d2fmm/vVfmtkO1AYzhdZxbnNkqH4a/zkAaBXMFPYyI/z0CsBeou3jBaCKsriNruCnAAAa1T4bXUn99Ls2aGu/AADboIafPn+xMebPSL+HjKdPn7bdhGBAKx200hmpFX4aDMS9DlrpoJUOftodRl5rQAZa6aCVDtf73YG410ErHbTS6Zafrs71pMkUu8n2437/6dZZj9iFodxzWu3hcA3TT/NZDez/L2EPCz0Gnjx54v/CmcDRW2Gf6ebXyp4to8l8IU0pnG1njIeAoNXupFYJ8DAvPQZT9qSfDks03cNCj4Fvv/3WVzzom1MGeSN//+nm18rUIZtcvxEa99Oybe7CUI7WygyxZgntMC85BnPa99PNzS3PV/d+NzHxu7vZcvZLmRXus8/W1qv1v//Dp9V/TEXTS3bh3Qs/S/X62fl7uZje8vNTURRNL7346/mJaOp6ts2fnb/Xfq8b1soMKvPPPMAyWaan0qJYk5HSJeE5NZ2tO3U9KU9U9ewl3kJWx9jOhb+O5xDQtEpjrLQL00umRK6q6bpufwM7zGOt9rqfbmxu/fD8pfu5e2Fi4sKd5y9/eH59Mooml5zCfffZ2nr1zaN1r1ZLU0mEelZcmo6mrnt0y8ozbbNCcyHMT6lWrg7XJ6PppeRfo8LdCxPRxOzdVJPs2wrpsi1n6y5NR9nCxIU7/r2kW0jq2C0cyyGgaHXn/MToLty9MJF+uzQVq5p8def8hKuYp78BHOaxVoH7qT/C9t3n1atXD7955Ncq/ixN565694LxU3/hjnW0+8qTT3LALE0ZThHgp1Qrb39NTeKTKava9cnYFqulK4ars1C9l+po381DoEors79OiV+oKHIMN9/UqP6GcJjHWu15P93YfPbDC/dz58LExIXb5oKzvM8+W69erT185Ncq/1yfjKau3bkwEU3M3jEUy/71lhtbuDYZTS5dn4ymrrXd313RyulviQh2teuT0cTs0ijpiuHqLFTvpTrad/MQULUSS36IXXXqmtPmYkmZXLvQx2a1CtxP44C+8+LZDy9uz05Ee1LosY2lP+4nr1uiGeGYKFZd7mwtiiZm77Xe393SyjLKaHLJXPBVW5qKFOliy/ihwikq92JWzn7MxnII1PDTUV2YTMLm3uzExOydvPLt2Ylo8vqon4oADvMw/PTlxub3z55bn9vnj6S3rRefPf/+WnIT+8jk1JGJ87edyvvjs7X16sHXDz1aPbv7W+PC7Le3n3//7PniZGQpdvt8rFtZub21ZCPhfkq1yuMq18otj2XJq00tPquSNNt4XCEP0ayCueDsJduCsZxvZyyHQJVWxR1VdOHZUqpQdGT2rl15atHZYLwc2mEea7XX/fTFy41/fv8Dn+rP1tarrx6s7bpWi5PRkdm/tN3ZlrW6PXskfBHGpNV++sRa7Xk/fbHx9J/P+FR/tra2vvzq693W6uovo18utt/ZlrX6y+yRI7O32u5FGFrtp0+s1V730+cvXn739Hs+1Z/Nra2/ffkArdAKrdrVaq/76T0AgEDY6366CRobGxttNyEY0EoHrXQ2NjZUPwUAgGpqnJ9W1Nvc3Kr12cg+G5sbG5svNzZfvNx48XLjxYuN5y9ePn/x8t69e5ubmyPbBxkj57aBDLTSQSudevNLVdSreyGf/U9a8auw3z97Hr9z8PSfz+Kbu/hpXYh7HbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdPDT7kDc66CVDlrp4KfdgbjXQSsdtNLBT7sDca+DVjpopROin64sziw83lm3O4lvLAf9PNPOoJ/M1pNlRVJK7K3Vq793GaUV5KCVTmB++vjGqXPTR8/hpz6csUyyQ6ZxP+gnnrc614uXlBKTuvX3MtVagQla6QTmp8PhcLi+MI+f+vCMZZ4JMrO+rFApMalbf09TqRVYoJUOftodVD9NlpUSk7r19zR4hA5a6eCn3QE/1cEjdNBKBz/tDlzv6+AROmilg592h+q43+bzKONJU4efRw2HeEQpaKUTmJ8mz/enj56bPrp4q4H+dwn/c9j8baZtvS9lOWVn35cqaAU5aKUTmJ9CBbx3rYNWOmilg592B+JeB6100EoHP+0OxL0OWumglQ5+2h2Iex200kErncb8dGvr1TY+r1692oo/eeHW5tbW5tYWfloX4l4HrXTQSqeenz5N+S7lyZMnT548+fbbb9f//r91Pv/45tH6N4/WH37zaO3ho7WHjx58/fCrB2tfPVj78quv//blg799+eDevXsbGxvx3gEAgqCGn1bUIx9f64wcS8hAKx200mnMT7l/2jrEvQ5a6aCVDn7aHYh7HbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdPDT7kDc66CVDlrp4KfdgbjXQSsdtNIJyk/XF+bTyaXmb6w10v8uYY2lMQuQMWMf+fgSfHFPjjk/o+IKcoLy01uz6Rx9K4vTp5bXd9z7bmGN5aCfOtygH1mTP5OPb0iOuTpUxxWYBOWnOWvLM/ipS8lYxnP/Mj+/hUer0LowNirjatyN2eOE6adM0e/DP5ZF7yN/FH5ah8q4AosQ/ZSLfT/+e4LJRRl+aoGf6lTGFVgE56eYaSmFsTSDnut9C/xUpzKuwCIoP11fmMdMyyk8h7WCnnx8JvipTnVcgUlIfmom4+OVqSLmWJpJ09IH1+Tjy/E/3w+xJ7vPqLiCnJD8FKrhvWsdtNJBKx38tDsQ9zpopYNWOvhpdyDuddBKB6108NPuQNzroJUOWuk05qfk42sd4l4HrXTQSqeen5KPDwCgghp+WlGPfHytM3IsIQOtdNBKpzE/5f5p6xD3Omilg1Y6+Gl3IO510EoHrXTw0+5A3OuglQ5a6eCn3YG410ErHbTSwU+7A3Gvg1Y6aKWDn3YH4l4HrXTQSicsP11ZzOaXurzSRPc7hT2W2cxPkTHfHvn4EnxxTz4+P6PiCnKC8tM8Hx/5ozxYY5nnTXMnfyYf35B8fHWojiswCcpPc1YWp2fv76DbnaRkLAu5SZifn/mk61AZV2ARnJ+uLc8cPYeZ+iiMZXzWFQc9+aMs8FOdyrgCi+D8NIYsUh7KzyPsfNH4KX5ah8q4Gndj9jiB+unw/uWj6b1USCgby0E/6g+43rfAT3Uq42rMbdnrhOSnj2/MpueknJ96MMdyda5vZDbdwfMo8vHte6rjCkxC8tPhrdksGR8np0Wc57CF11rIx5fjf74fYk92n1FxBTlB+SlUwnvXOmilg1Y6+Gl3IO510EoHrXTw0+5A3OuglQ5a6eCn3YG410ErHbTSacxPycfXOsS9DlrpoJVOPT8lHx8AQAU1/LSiHvn4WmfkWEIGWumglU5jfsr909Yh7nXQSgetdPDT7kDc66CVDlrp4KfdgbjXQSsdtNLBT7sDca+DVjpopYOfdgfiXgetdNBKBz/tDsS9DlrpoJVOkH56//LRczMLj3fU8Q7iHctBP0uLRD6+HEsrY3YpZqAr4osrchf6Cc9P718+On95dh4/LVAcy0E/6vX78bSe5OMzsbTKc8wxp6cHJ67IXVhBYH76+Map+Rtrw/UF/LRIMe57c6t1ZuPf3/PzD4fhdWMseLRCpxJC8tPETIdD/NSLOZZ5wBe9j/xRZXGPTfjAT3UC8tM4s6nxwVJtjLE055uP7wv2evipgf+eIBexPvBTnYD81IDzUx+V51xc71sUtMJMS8FPdfDT7lB9DUs+PpPC833soRT8VAc/7Q6j7gmSjy/Hudds3RrBKGz8z/dDHPXdJ0w/BR+8d62DVjpopYOfdgfiXgetdNBKBz/tDsS9DlrpoJUOftodiHsdtNJBK53G/JR8fK1D3OuglQ5a6dTzU/LxAQBUUMNPK+qRj691Ro4lZKCVDlrpNOan3D9tHeJeB6100EoHP+0OxL0OWumglQ5+2h2Iex200kErHfy0OxD3Omilg1Y6+Gl3IO510EoHrXTw0+5A3OuglQ5a6YTlpyuL+XzSp5bXmxCgQ9hjmc38lE2ZRD6+HEsr8vFVglY6wfnp7P0mut1JCn5qeRz5+EwsrcjHVwla6eCn3aHST5mf36Ik7kPrxlhAK53g/DS53k8S84FB2fW+PT3/kPxRQ/Lx1QGtdMLy04yVRe6fFigZy/i6DD+18GnFBawftNIJ1E/XlmfwU5fK6zKu9y0KWmEQpaCVTlB+emt28dZwOBwO1xfmuZFawP/cIH1URD4+k8IzawyiFLTSCcpP1xfm0/unibGCQdl7LcYDWfLxJZhakY+vGrTSCcpPoRLeu9ZBKx200sFPuwNxr4NWOmilg592B+JeB6100EoHP+0OxL0OWumglU5jfko+vtYh7nXQSgetdOr5Kfn4AAAqqOGnFfXIx9c6I8cSMtBKB610GvNT7p+2DnGvg1Y6aKWDn3YH4l4HrXTQSgc/7Q7EvQ5a6aCVDn7aHYh7HbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdELz01uzzM9fhjuW6dxP6SRA5OPLsbQix1wldlwZeR4DG/NxEJSf3po9x7Sn5VhjOeg78U4+PhNHK3LMVVCiVWhTiI+FkPz0/mXm5K/CHMtB34l15ue3KIn70LoxFkq0CizDzXgIyE/zZHzMJ+3FGEvjoixyTiWzZfJHFcBOfRS0iu+PhDTcYyMsP00v9sl34sP2U2eCffzUwhf3XOz7KT8/RS6XMP2UfHw+/H5KPj4fhbjHHUop84jAfkLHQkB+Orx/OX2sz/mpD/v+aWoP5OPzUXi+j5mWYmq1OtdPheIXyENIfjocri3PxPdPOTn1YI9l9hJQzzgAyMeXYHsEOeaqKLw3EuaQj4Ww/BSq4L1rHbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdPDT7kDc66CVDlrpNOan5ONrHeJeB6100Eqnnp+Sjw8AoIIaflpRj3x8rTNyLCEDrXTQSqcxP+X+aesQ9zpopYNWOvhpdyDuddBKB6108NPuQNzroJUOWungp92BuNdBKx200sFPuwNxr4NWOmilg592B+JeB6100EonJD99fOPUOWOK/nOXV5rRoCtYY+nJMUc+vhw77pk0qQq00gnJT03yuVAhxRrLQo458vGZlGgV2rTYYwGtdML0U+aT9lEylszP76FEK6ac94BWOkH6KSenXvxjWfQ+8keRY64OaKUToJ9yclqCbyyzpBT4qUX5OVdQp9ljAa10wvNTTk7LKIylGfFc71uUxX1gPwtjAa10QvNTTk7LKTzftxyOfHwmplbkmKsGrXTC8tO15RlOTkux476YY458fDnOM2teAaoArXTC8lOogveuddBKB6108NPuQNzroJUOWungp92BuNdBKx200sFPuwNxr4NWOmil05ifko+vdYh7HbTSQSuden5KPj4AgApq+GlFPfLxtc7IsYQMtNJBK53G/JT7p61D3OuglQ5a6eCn3YG410ErHbTSwU+7A3Gvg1Y6aKWDn3YH4l4HrXTQSgc/7Q7EvQ5a6aCVDn7aHYh7HbTSQSudoPx0fWE+ScZ3anm9ke53Ct9YDvr5nGrk48uxtWLSpCosrTx5HiEnID9dW55JbfTW7LmZhcdN9L9LOGOZRL6R3ZR8fBmWVuSYq6REK+Y/9RCmn64vzOOnBTxjmfsD8/NblMQ9U857KNEqtCEfCwH56XA4XFnker8c1U/JH0WOuTr4PQI79RGSn96/fHTx1jCepf/c5ZVG+t8l8FOd8vNTTMLFf18eoXyE46fWNb5x7Q8pXO/rlMV9YD8LY6GgFWZaSjh+OlxZnI7PT8nK56fST8nHZ2FqRY65agrP95GolID8lPelRuB/vp+/BUQ+vhznmTWvS1Vg//YU8zxCTlB+CpXw3rUOWumglQ5+2h2Iex200kErHfy0OxD3Omilg1Y6+Gl3IO510EoHrXQa81Py8bUOca+DVjpopVPPT8nHBwBQQQ0/rahHPr7WGTmWkIFWOmil05ifcv+0dYh7HbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdPDT7kDc66CVDlrp4KfdgbjXQSsdtNLBT7sDca+DVjpopROWn2bz8zNZnwd7LI1Jk5JpgPZv9r0i3rgf9JkxyUNpXAUfBc0TkJ+uLc+k85+Sj89HIe6teN/P2feKFON+0I96/X5Ys2KPB0srchdWEpCfrizmp6XmMiRU+um+no2/iBP3SYfC79duUOIRpDLwEJafZtNIk+/EQ9l1WW9utX72p05liypiapW7KH7qo+AR5C4sJSA/Nefn5xaqh/LziN7cKn5qYWjlTDnPLVSXyrgad2P2OEH5aYaVmw8SSsYyPuniet/Cr1X4/doNyjwi+B/VXSBEP11bnjk6f2NtZx3vIP7nBunDo/2cfa8Ifqpj3xshd2EVQfnprdn4Yh8z9WKNpXEVm1rf/s2+VwQ/1XF+p3ldqoKg/BQq4b1rHbTSQSsd/LQ7EPc6aKWDVjr4aXcg7nXQSgetdPDT7kDc66CVDlrpNOan5ONrHeJeB6100Eqnnp+Sjw8AoIIaflpRj3x8rTNyLCEDrXTQSqcxP+X+aesQ9zpopYNWOvhpdyDuddBKB6108NPuQNzroJUOWungp92BuNdBKx200sFPuwNxr4NWOmilg592B+JeB6100EonRD9dWXQnPy2W7EfcsUynAkqnTCIfX4437snH58Wn1aCPUD4C89PHN06dmz5qJuMrluxbrLEc9B3XIx+fSTHuycdXhqNVMhMkQvkIzE+HQ9/k/EzXPxwO7bEsnD8wP79F0SPIx1eGxyMQqgT8tDsYY2nM+hs5J5fZMvmjEsjHVw1+qoOfdgfbT50p9/FTC0Mr8vGNAD/VwU+7g99Pycfnwx/34fdrN8BPdfDT7mDfP43ya1jy8RXAT3XwU53A/DR5mj999Nz00cVb/pJ9iz2W2WVsz0hIST6+BPxUx/98vxtx0DSB+SlUwHvXOmilg1Y6+Gl3IO510EoHrXTw0+5A3OuglQ5a6eCn3YG410ErHbTSacxPycfXOsS9DlrpoJVOPT8lHx8AQAU1/LSiHvn4WmfkWEIGWumglU5jfsr909Yh7nXQSgetdPDT7kDc66CVDlrp4KfdgbjXQSsdtNLBT7sDca+DVjpopYOfdgfiXgetdNBKJzw/fXzj1LnpU8vr+Z/zN9buX7YmQ4kL43+dwjriBAZxr4NWOmilE5yfri3PnJqfydxzbXnm1PL6yuL07H27zvJ6/K9TWE+dsCiO5epcz5weuTATal7ozKzU+YmW0EoHrXS276dRFJl/ZkYZRdEu+un6wvzMwv3sTDOe+fTW7LnLK06dx86kqPtgjtTCWK7O9Xq9njMLNGE/HKJVHdBKZ0d+alpq5qTmv437aXLNnpojF/sm7liuzvV6cwMnORJhPxwO0aoOaKWzUz/NLDU7OY3ZnfPT7Lo+XjD/Nevsx4v94aicnYS9CVrpoJVOA34aW2rko2E/Na7r718+unh59tzllaFzsR//uf8u9ofuWGYRbmbTc8I+zoqyD8MerWqAVjohnZ+a1/VxmpPFW8PHN04ZfhqfnA7vXz5qXt07f3YVayyNCB/0o36/JOz7AzfO90XYo1UN0EonpPun1nX9+sJ8fu1/NE0hVSyJn/6bfzag2t7EHEsnwWmc6sfOo5ek7Msz95mlXQetdNBKJ7Tn+1COMZb2CUMe71lCvSyXmlkS3wcz/xx7H8YFWumglU5w759CKbx3rYNWOmilg592B+JeB6100EoHP+0OxL0OWumglQ5+2h2Iex200kErncb8lHx8rUPc66CVDlrp1PNT8vEBAFQg+WlzDg4AsE/BTwEAmgE/BQBoBvwUAKAZ8FMAgGbATwEAmgE/BQBoBvwUAKAZ8FMAgGbATwEAmgE/BQBoBvwUAKAZ8FMAgGbATwCO6KEAAAA+SURBVAEAmgE/BQBoBvwUAKAZ8FMAgGbATwEAmgE/BQBoBvwUAKAZ8FMAgGbATwEAmgE/BQBoBvwUAKAZ/h+ZhQbbzMDcggAAAABJRU5ErkJggg==" /> </div>
<h2>
<span style="font-size: small;">Queries:</span></h2>
Ordering salary in ascending order.<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuMAAAAbCAIAAABZQRauAAAINklEQVR4nO2cwXXkIAyGXRcFqY6UwC1V5EoBKSIXStgitAcMlgBh7HESe/f/3r63Mx6MhSzDj8BZGAAAAADgriy/bQAAAAAAgAmUCgAAAADuC5QKAAAAAO4LlAoAAAAA7guUCgAAAADuC5QKAAAAAO4LlAoAAAAA7guUCgAAAADuS61UvONl4WXhhZgcM3P0+Uj555iZOaiDIddglk8n0XYweqbQK7+wj7bJgXkR/5z+lZrjpWQU55Jdf6rBJ3eI2krNXh8vlUvznCiz6DLtcSdOtNqV+Xx///yTv/z5fH//tFvScx7pmxLZyTsovhJN3ffFsNNC2d/aMw0dP2VMsmQUeN+Jd8sKETk/LhxzaffD5h6PtwsItEj2nDOuJnmsOPBEbYF+wfHnqDy3UOgXOevSEzwizrdBsPyjnX6v7ceoGsjCVC/3CP/8CkqpRM/FOYE2t8rjHNlp5dF6ySofiBfayizLqlRS4UCcHiXv9gYMn5UEM5P+TKJMUQDVHXdCWHQhIRSi+Ez6xDzYK+kjz/W8Kbigjwv/9I9TYzYzf328fXwND4yo/V8eKv38eLdabd3HKk4OdHTaXMueSehSpcIzgfc9RO9KXxNoduSQZ/0Yh+LtKir/nG51IOdcHq6jd2dH6N9w/Hn24iTsjojfYcnN47z0gczMkR0lS/r9Xr8fS7M+EuVlnT0e5J+fx1Qq3ePt2DBWKqp8vt8WRansU430lD+0+ZUgCrh81u4Il1RCW62lVKj3mRulIlVU15JuuwSf7804MT/N1RKThcOV58MWA9Z9rxXM8Laa9tv2pDmN81u+LZRTSsonCKvEcSl3zHoMvGMftqrWwM6Vp69rVfNzI+d2R0SzrxGT4rZA5yyjfDLG+ZgnYRS4zMhcbpebyjEcSquIaWhV8TZtdXUYtKiWRu9EN7H5OWcMZBO5uMR5TmOyp/WnrFRSw/ODkD2SjjpHqa61lnIJ54NIyxRPR2GOaHDf/6c4FFfFqDpOhJ0UXlIq/2qcJ6VSDYj9fs/qxyI7yopHfrZ5jH8ueq75SPzYqz/iMtsCzbRS6ZQPO5Pvk0rFZTUgD+YrshdSw4kPYygLhTitVEIWN1XuRC7ocHN8oFQcN3HdndB+fbyp9RSLjgwtd0SoDXlDrfsuq/Ju+q5p+0f2sE6WhvUSJLKpcvVH5kLq3EyvHosU/FKg5OFOmXqox5mcG4knVhQOIYgClfG9Hsounwfh9Hn9KZDuyGbu5Gy8MTMHFvZszrdytxaypbJd3omOONDauli3o7QyfVi/ipyKOqOUjt6lvjxQ+r8USyomx8lmUSWo9K3s+f8gF825ZVrqpdWffzjOyzhoKZUSz2Y/ljrVwM6vQ9tuv8FP8c83PNe78WPuqJU9/jU5lWuVShn+vTjYVSqcR32f130mlUpsyg+UCgvlYeVU5FYVK6fStqvwp5NS4W6ipcdYGayDvZ4fDHIqlqYeoe3fVSqjX1mYKhMqza6p3aiTVKor7aMqP3VVi4HcIXBsVFIjnJyjNxWN58p1ed0ZFbZeySjQMhlvzPWtkfZQ92ZZ1ahURT+5IluQfvAu9X1bzkBplBmlkjv0MvksSkXHiVuFzFIhSk27d8iZuKrjpLLkhVWwfzjOrZxK2+/tKBUxp5pRKqqJt/XPRc/1ofgZvftD+WLWqhA3U3BTZnInS9ZWdTinEkQLrNUfzvthS9pjd7WiKBIv9ruwViqxUSrF+K5SkV9bUTVoV+E1pTJYbUlXTKsk1VA9Xg1MGYvZx6+yf8Ie/bOhVMYbVg4qFd2Hd+w51N0wi7n+gRPKWsRgXB7PlZvyVgeUj88lVJiPKBWZA6tCSxhwZO6V0xvr0VHuJJDzgZwPnU44ekf+FaVSj/UUWEqiXjMvUSqqwpM5lSuVyhl7xAn3jfPuY97v94arP6lwTrkd6jru65+rnuvKgAM5FWmBXBGoRizp8RmlUspXuy9Jy7GTqz9e72Ztd9SyWPeJRrqiQiqSRSsPaj63G0ospdLmVNry3XatvLT6w7yzg5UaIWzdR3k8+q3OPWr7R/b0FAYtKvBK+dGu3oNKZbNBrv7kX8NcbarrKB3OytfH29ub8oPeJFq6FjmElJUIQd1DjcvbI6V3aa/C5Dg6HW+yB4/sFpWgUu9E7MWPbKlYbKkUgxAKgYjySs+2h1b6QK16bPXHlIjZz6no+W5Jotu7fS0Pt+FgczCuNgObkUwKM511/0Z7nhTnO0pF93vmjlod2HtK5SH+ue65HsZPTa1U2leFu28RB+b6ra2cCDLL58a0WaPqlB25EppNHk6nPdotIFLBuD2lQnr9JTRVyfqjfgk56uWb6m3kVGF7fJloFzO/uKM2XcR+K3iQ6uzfd7FNZFI+t/Z37aEmqHJp9d5gtVWlDSGzHtsz8t3s+pmdTiDpZYDqst0eXKL3OuSDRGXjZ/3yabnEZPnaDzJRscuReJMhlBybR/pDz3s2P0fnJhSsLHcsO1i23l9Uk793suvOe9rclyrN7yW37q3uF/dv/cj/Xx9vb9MzjYNxZV9YJd1JirbvtOcxcS7jUw29dr83+OsP66p6/mrzGP9c81zvxE8N/vLbo3jtLeXf52Hmao6kZ57EkYWJR9/AG/L5Pr8/+Se4mz1XcvkC3D/Gvf0DpfIwXvzLb79O9ZffHkEQiZZzb23ck8P7IR8Yb7fG2Hn2a9zNnos4v+/3/+AR/oFSAQAAAMB9+Y+VSrtZZPmv/QEAAADcEIzMAAAAALgvUCoAAAAAuC9QKgAAAAC4L1AqAAAAALgvUCoAAAAAuC9QKgAAAAC4L38BPscehhYIayAAAAAASUVORK5CYII=" /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAAEHCAIAAABp7e5bAAAWzElEQVR4nO2da2/bxprH55MU6AcosD6CAtrfoO83mxbFpnskgx9hizQ4bxY+ASwpgF/EDlgkC79IgmK7a0vehdug2daL9mARm01a+daNq7Zp7opjW7Z18SXgvqB4v8yFM6KGfn4YJBJFPpxn+NeQ1Pw5Rr+S0bB4/Pjxd999d/v27WvXrl27dm3aRXAJANigPyh59uzZ7du3nz59enh4eAAAxKAXZDy3aDabMzMz7Xb74ODw4OBgf98prdZ+q7XvXgIFil3QKxfNZtN8sbOz02q1dnZ2XgV48+bN9evXDw/bBwcHrVZrDwDICJGaqbPz58+3Wq0oqR0cHO7ttXZ2dre330CBQlL8UjN19u67737yySexUjvY2d3b3n7TbL6GAoWkeKRm6uydd955//33b968GSO1/f2DN292ms3XL1++ggKFpHiktr+//9577+Xz+UuXLs3NzcVI7dWr5u+/P3706JeNjZ+hQCEpIb3aRx99VKlUvvzyyxipvXz5qtH4bXPz/+r1dShQSEr4tdqVK1e+/fbbGKm9ePHy0aNfVlc3Hjz4CQoUkhJ5B7q4uBgjtefPX2xuPnr4sL68/AMUKCSF8Xe1P548ffDgp7/97f733/8vFCgkJVxqMZhS++WXX5eWvv/mm/+5999LUKCQFLRNxmuL3d3dL774Ynl55ccfV3/44UddfwAFCklBOy52d3d3cOzt7T18+HBubu5fAYAG1ASAgYBmAWAgoLTH+4GzAkgNGBAgNWBAgNSAAYEmK9PZK2m3KhACMjIHSG04yabUzk5JWz8UZFNqp2eDLEhN1fTQklP9ZcAyImGyMr3vZWlpaWlpacHL7OytfZnJjtQ03egXzVAjiixS0zR/PZvNpqppqUiEF9mRGrY/y6l6Lhchta2pMeRBXWRSzdbU2NjUFuVGk5Xplhdbaq1WS9829G3jzvKeqmotmTk5OcmC1NzdwMrKiv16aWnJfNHr9TRNz+VUIokwKcbZkHLz4AEw09nc3NR1fWVl5c7ynqbpqqql0uK8yKDUbHkZhrGwsGAYRq/Xa7VamqaPjo7GScR5v6iy9WusUtv1omm6pusLCwuaps/O3jKLqmq7hDy4kkcI/dO/ed7nrzwg3V4IGZHa7Oytzc3NlZWVJS/m0TKvqSmkZr91Tqz9j+0FY1Nbnq0ckanqmLOFZ/1oqb3xErxWu7O81+/edF3T9Uaj8SYG/a/5fD6f/6tuv0UI2W9T4vj4OCNSs1+7ezVN080LBX3bmJ29FSe1kEs1l5T6L63ebmtqDKmL4VJz92re9aOl5rMQa5r+5MkT0zWl68ad5b07y3vupHI5tdFoRFqQlyfy+YmJi/mJ5e3t7e3tzy/mL17MW+/SIiNSCz2B9nq9hYWFlnVljZGa0+1YuvDrzxSRt4vDSM27frTUXnvRNL3RaHj6Zl038zQ0VdP0lZUVU22vQ7k/kc9P3P/8Yn7i/uvXrz+/mJ/4fCJvvrk/ke+nY753Fvg+t7Z18r/4+WvPBsFtImKaZERqMzMzuq6bB8a+yjH/tS93NE0jPYGanVF0V7SoIkTUq3nXj5Zaw0vwBNqXmmEYhtFoNHKqmsupptpC+OYvf/rTX74x/23c/NB53f/PWadx80P04U3zLfrwpv9tIKb7A9KYfTqdTkak5hwVTTfvA1qt1uzsLX3bMM9BMzMzpHegQa3ZZ0xkX8SNTW257h4WVRSUmn/9SKlteTGlZvbHzWZT37akpqmGqhqGoWo5TdNzqroVyr3LIyOX723duzzywY0bH6APbvSX3Ls84umnnUUjl+9ZW7rf2gtcq9ufkcbsk0GpmSdN+/rMvtahkZotskU15rbAc9sw5hKZuZXnJBx/W/DIiy01U2f6tucKodVqNRoNTddzOfVRKF9fHhm5/LX5/8jIhRvWkq8vj6ALN8K2uHEBIddH1tsbF9DI5a9dMa3IniVkMbMjNft+033SNG88ZywipZYqk5Xpn72YwrJ1puuW1FTVUHNPnjxRtZwptZ9DufvpyMind80X6MJnzhL7vfXR3U9HkL3qyKefed/e/eyCtfrPn11AwQgkMe/2K9VutzMitdHR0VxO9f3rfmEySA0RMlmZ3vDikZpuqHrOvsVuNpubm5tLS0vmfehGKF9dGhm59FX4Eu0frDOd+f6rSyPu91FvwxeRxTTJiNSkZrIyvebFvMc0f8g1S19qas5QcysrKzk1Z0ptLUWun0fnr5Ovfnh4CFJLmcnKdN2Lecn/8ccf51TVLKbU+j/hWlcIuZxaHzQzf+/0cn/3z/9FsSVILX0mK9M/4TCFFSzYDYeHg4MDkFrKTFamH54BQGrpk7oJG0poyaDUgOGkL7Uv/uM/oUARWhypCVX0/v6+0PipIyJBWRqNsJ4gNT6A1LAMSGqtVkto/NQRkaAsjUZYT5AaH0BqWNKTWvKnqhxPkfWW6mEZ5odrwghP0Befco/hh9DVbuEtxjUvEoZLant7e/5FyZ+qMhvd56ak2pzfIcEnSL/HkJh9H58VLVRsA5daWD1DGJDUdnd3/YuSP1W1NTU2NjWluuyW6UmNIEHqPRLFDDJwqYXUMwxHaicnp93esYhyevr2xctX/vjrVxXl6lrw7fpVpX9+GK/2jru18f6L3kLReTFaXrc2cW/ofutZMl5UEEJIqSyU+y82uq7l1i7ce7d3Ya5jrcCQoBMTIXfKDI3W2ygrSKlsuBdWi85FSLHm7DdsuZVvccHe1heN7eDSSe345LTTPRJRTk/fPnv+wh9/reIcAPNgd4863Y2SggrVo073aLWsoGKt090oKUpp7ahTHUcIFapHnbWKolRWu86LatG13P6061qClNKauUfrRX95xL6C27IlqFRWXRl1quPIrhtbo1lNZMrWX7FgC0S2g9natUL/RdKDOyxSe/v27dNnzyOOhNN8HhkFlFQtKqVqRSnWOtVxpbzhjVAr2E0cKjWvNMNFicarfvUrpWrgsNEmGJYRe6O5iy1cd7V9+YYut7+c1XFUrHE5uJRSOz5pd3oiyunbt0+ePvfHX60oSqVuv60WUaHmWWi/rhaVUqWgVOqdWkGpzJeUQtUfoV5SlEJRUSr1YAR7ie9F6JqoOB9TSYYEQzNibjRPqRVQcb5TKyCltBrcY9Ryp7XnC9YKiQ+uVFLrN9x6SUGmkuolBRVq1kdIKa23O735AkK2GjwRagWEUL+JrRWqRRQvNWtNa1/O3tvmp8ml5ssomdRcbWJlF5lvdDt4misNqR0dnxy2uyLK6enbx3889cevl88p5bqzZG1SQYX57mG9fK7f59ufWh+1u4fzRVSohkaolxRzk7p1LYMU5ZxSrtur+V7YO/Lsq1qwFk3Wg5VkStDJSCGJFhez3Z0r2JUuztmJuxOx9hu13I5zrrTG6+DSSa13dHxw2BFRTk/f/v74ibj4qRcRCQputOqfUWGOXz0ppdY73j9oiyinp6e//f6HuPipFxEJCmy0uQJC6NxknWM96aTW7R219g9FlJPT019/eywufupFRIKyNJpZTzqprQMAK3RSOxHJ8fGx0PipIyJBWRrt+PiYTmrCH5hBKPP/nk1IdOaXGuE2DOzt7b18s5/hIqL1hB4RXgyj1BBCqQtCXEGI/7NnIDUWoFdjazTuMbkzjFKDXo2h0bjH5A5fqbFOBe+tUOyh+vd/RH++k7ZckpSYFrenL6RtxNgjYuPMSO3bTXBJyPYEK7NW0k+81GwfOwepRfRqD/+lP6Ww3FKL7NUchzb1N5biy++Zmdqadj9kNmv6ldkr6Qd6NT4lqvV8U0lTtWPkEQnqwTuLsLoYtoRtZeZKBvBILcLzbTut2QvuWk16qRH0ar4HvBIcRddDU8FZqIOzosc8MIRdmb2SATxSi/B8crAFn9lezXAug8ZUldNR9MrXnDsdpOZI7Yz2ai5cD9ZxO4pRWhl6qYUbcV1+TtZylns11yHmfxnk+wtKhizXakKldjZ7NUdfiyrtjXzMrYYVyeoopbsDjfB8VwuWt5i5nOVeTcDvaoE/NUL0U5nTYaX/u5o4TzaMFjCQ5dECcZ5sGAMVehRThFFq4uzF0KsJPYopwig1cYZg6NWEHsUUYR4tEAX0akKPYoowSk006bqxRf97ZmGRGq2iyREafBgQkaAUjQZSGzQgNSwgNT6A1LCA1PgAUsOCkRrzeAV5hXjtIl1wLR4cxcaPa8fFDIx2yW34dg3rUrsSCCvEcRfpEt3iQdM8qY0+OqYzdN8fb5duuD1mvYTTRpNUaOAzU/NkoL1a0PgmnYkoepLvjbKCirVEhm9cTbLaq5nwlFqwpSS0RkZM8rtaVsinpo5y4cbXg9p4P2QMWGpjquo+CWdEasl1hpWa7DozBt+rSf9sQcCFSzVTcLwLN6oGGdCZMfBrNb8ypLtW80utWkSJrd4YqdHboIeTwf7YYW9rXbZJdwfqM3y7JpNGCCWaEDqqQu4ZARCSuHeT4Xe1M2P4pkpAOmC0AMvgDN/Ckh0KQGpYBmf4FpbsUABSwzI4w7ewZIcCkBqWwRm+hSU7FIDUsAzU8A1kEhap0SqaHKHBhwERCUrRaCC1QQNSwwJS4wNIDQtIjQ8gNSykhu+E45QxFeK1i3SJSdA23dIOu+GOomdoi2SsSYQFnJPUEsxOTVohfrtIl8gEPROs8RrJDljGSUbQxQzAcz+BJjVjE1RIar830WzcvP054dafSF+QGFsRo9QiDd/rV5Vkk3zjKyS33zu+BzK1xvHvFpg4AUncjoLMkoxSi3ThIlSoCnbhZvdazTrdUffZZ05qne5Rp7tRUhKpjewEKrHaCE6g3F2HUkstfNrlvvNbKa2LMHyHJiwdUQmKtO3LfK3mk1q9pKBCrd3ptTvrJQUVqvwN39l/5Djw5yw4xHRCS3sHGpzh2/Z8J3F7xxi+jbDJqmWEJEHeXurkv6txsIAzSg0M38zAaAEWMHzzAaSGBQzffACpYQHDNx9AaljA8M0HkBoWMHwDSWGRGq2iyREafBgQkaAUjQZSGzQgNSwgNT6A1LCA1PgAUsNCJDVq/yh9hZLvIl1wCbJ4jKliSm74NtmaGks8QImpEI9dpEt0gqTzeSeKKd1we0RWY6qa1N4TWyE+u0iXlHs16UxEIYbv2jgqLqxVRpXKBrPbG2P4XlSRuii1Wc1IW2oSWiP9LtxaAY1Xu0erZUUpb4gxfPfbC6SWJKb0UrMVJk5qdhogtSQxJZSax4W7XlKQGwGGb/vyVnp3JFyrYSF6tiDhgwUkzxZAr5YopnR3oEHDt1nqJUWc4dufrJzI+bsaGL4lBEYLsIDhmw8gNSxg+OYDSA0LGL75AFLDAoZvPoDUsIDhG0gKi9RoFU2O0ODDgIgEpWg0kNqgAalhAanxAaSGBaTGB5Aalnipuf8yrKC5cLntIl1iWlzETERs9u5hNnxzm3U7VmryzqrmEJVgkgnkKGJKN9wekhOnjiayQrIPs1uQtDjvWSNdMaUzEfkN3+tXbceaKMO3y7EmteQIWpz7rJFOTAmtkT7Dd3UcKZVVodMuJ5i/c6jAtvjW1Bjtl4k8pvxSCzN/C5vhW+5zaXyCDDqjiimh1GCGb1ZiEmTTGV1M6a7Vomf4rhWQUloVOsO33M+3x10hsF4XUMSU7g4UZvhmJipB98+GtDlSxQTDNxi+hysmd1ilBoZvVkBqWMDwzQeQGhYwfPMBpIYFDN98AKlhAcM3kBQWqdEqmhyhwYcBEQlK0WggtUEDUsMCUuMDSA0LSI0PIDUsOKnZwxPJ/D1xFeK0i3SJStA/gxxNkjGNlknDd39HCQfDoyvEbRfpQtTiW1NjNF+nOPlmzfDN7+BHVkhqfbkgafFFlS5VkpgZMXyvVUZRcSGJzxtr+JbbeusC3+L0djyCo5gVw/dqWVGK4/3HC4o1UdMuqyrr35AYIrAtTnnyJI2ZEcP3alkR/WyBy00qdweHa3H+E5Rmy/BdLdomb1GGb9f1S1YN3wZrajExs2b4bndqBVSctyaWL1RFzPBtJ5LhXo3xSxR3L5U9w/fhfLH/40qhKmqG70z/rmYY7A/wR8UEwzcYviWIyR1WqYHhmxWQGhYwfPMBpIYFDN98AKlhAcM3H0BqWMDwDSSFRWq0iiZHaPBhQESCUjQaSG3QgNSwgNT4AFLDAlLjA0gNS5zUkpiVCSvEcRfpEtPizANvVDFlN3y7YPBb0VYo2S7SJTJBx2ZMPRRKEVO64faY9WjNygwVSriLdCFIkNrfQRFTOhORf4Zv91TfytU1ETN8BxpNUogS5NWrBWJKaI2MmHZ5tawkseCSTLss88nTMEgcs1yv1XwxMyO1WgGNVxPojEBq0v9NFrKTHfzdgtgZvhNavUlm+Jb85GkYVA/SiYgp3bVamNTWS0qiub0JpJYBpdE8HiwipnR3oOGG72RWbyLDt9wnT8Mg+w2M9vtEFRMM32D4Hq6Y3GGVGhi+WQGpYQHDNx9AaljA8M0HkBoWMHzzAaSGBQzfQFJYpEaraHKEBh8GRCQoRaOB1AYNSA0LSI0PIDUsIDU+gNSwYKRmG7ITDlLGVIjXLtIF2+IMk/5SxZTc8O2M6yadHTmyQvx2kS6YFt+aGuM6BuqPKd1we0gy1l4SjonHSY3TLtIltsW3zBl/uUrNG1M6E1HA8L1RVkbL68fd3kIRjVeFGL5trUmtNPxUfgxOKfKYElojgy7ctYqCEEJKaU2YC7d/sSbx2dOIa/H+V4ir1Pwx5ZfaWkVxZvhOpDaCE6jcBsmoBEPVwD2mhFLzunDdVm9BM3yTpzTkRCS45XukmofhOyymdNdqwcnkkVKpC53h27nvpH94bZjAtjjnazVfTOnuQIOG77mC9d0RNsM34e83Q07KUgPDNxi+hy0md1ilBoZvVkBqWMDwzQeQGhYwfPMBpIYFDN98AKlhAcM3kBQWqdEqmhyhwYcBEQlK0WggtUEDUsMCUuMDSA0LSI0PIDUsGKnx+rOwMRXKxF+ejTf8sI2208WU3PCdYHZq0grx20W6xMqCMS+KmNINt/s+8zl8RBi+Oe4iXSJbPIE1iiKmdCYiv+G7No76E3tvlBWkVDb4G769JqLM+dU87jJuzo5ATAmtkQHDd7VoZqQUiopS3hBh+LauCVge9BgeCL9LfKZdDsTMgtTcmhMktZAGlBCSBGnPpeQxJZRa2AzfbaEuXE+jSXxfkK7U5LtWCz5bgAq1vvMbFecFzPC95X7iWGKlkczGTd1rU8SU7g40xvBdmBc1w3fWf1eDGb77gOGbDzBagAUM33wAqWEBwzcfQGpYwPDNB5AaFjB88wGkhgUM30BSWKRGq2hyhAYfBkQkKEWjgdQGDUgNC0iNDyA1LCA1PoDUsJBIzTPeyjZxEK5CHHaRLnEJsg69UcWU3PDtePCsvbFO8hhdIW67SJfYLyrjHOYUMaUbbo9OLMRQQuWZp+jVWHeRLpEJJnDhUcSUzkQUmOHbLM703muVUdv27X6dYIZvfzqSTlkalWASFx55TAmtkeEu3FoBjVe7R53u0WrZsX27Xyd24WZZamOqOkZw0ZMkJkgNpOZ+OIfbswXBmBJKLdzwXSvYFtxqse/L7fTmCxQW8LN8rcb8zaGIKd21Gl5qqxXFmfNbKa0KkFoG70DN1Pg9MRWMKd0daNDwfdjuHrarBVScSzbnN/yuNpS/q4HhW0JgtAALGL75AFLDAoZvPoDUsIDhmw8gNSxg+OYDSA0LGL6BRJCL0pEalZYBgBaQGjAgQGrAgACpAQMCpAYMCJAaMCBAasCAAKkBAwKkBgyI/wcH+057OUrGwQAAAABJRU5ErkJggg==" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAAEHCAIAAABp7e5bAAAWzElEQVR4nO2da2/bxprH55MU6AcosD6CAtrfoO83mxbFpnskgx9hizQ4bxY+ASwpgF/EDlgkC79IgmK7a0vehdug2daL9mARm01a+daNq7Zp7opjW7Z18SXgvqB4v8yFM6KGfn4YJBJFPpxn+NeQ1Pw5Rr+S0bB4/Pjxd999d/v27WvXrl27dm3aRXAJANigPyh59uzZ7du3nz59enh4eAAAxKAXZDy3aDabMzMz7Xb74ODw4OBgf98prdZ+q7XvXgIFil3QKxfNZtN8sbOz02q1dnZ2XgV48+bN9evXDw/bBwcHrVZrDwDICJGaqbPz58+3Wq0oqR0cHO7ttXZ2dre330CBQlL8UjN19u67737yySexUjvY2d3b3n7TbL6GAoWkeKRm6uydd955//33b968GSO1/f2DN292ms3XL1++ggKFpHiktr+//9577+Xz+UuXLs3NzcVI7dWr5u+/P3706JeNjZ+hQCEpIb3aRx99VKlUvvzyyxipvXz5qtH4bXPz/+r1dShQSEr4tdqVK1e+/fbbGKm9ePHy0aNfVlc3Hjz4CQoUkhJ5B7q4uBgjtefPX2xuPnr4sL68/AMUKCSF8Xe1P548ffDgp7/97f733/8vFCgkJVxqMZhS++WXX5eWvv/mm/+5999LUKCQFLRNxmuL3d3dL774Ynl55ccfV3/44UddfwAFCklBOy52d3d3cOzt7T18+HBubu5fAYAG1ASAgYBmAWAgoLTH+4GzAkgNGBAgNWBAgNSAAYEmK9PZK2m3KhACMjIHSG04yabUzk5JWz8UZFNqp2eDLEhN1fTQklP9ZcAyImGyMr3vZWlpaWlpacHL7OytfZnJjtQ03egXzVAjiixS0zR/PZvNpqppqUiEF9mRGrY/y6l6Lhchta2pMeRBXWRSzdbU2NjUFuVGk5Xplhdbaq1WS9829G3jzvKeqmotmTk5OcmC1NzdwMrKiv16aWnJfNHr9TRNz+VUIokwKcbZkHLz4AEw09nc3NR1fWVl5c7ynqbpqqql0uK8yKDUbHkZhrGwsGAYRq/Xa7VamqaPjo7GScR5v6iy9WusUtv1omm6pusLCwuaps/O3jKLqmq7hDy4kkcI/dO/ed7nrzwg3V4IGZHa7Oytzc3NlZWVJS/m0TKvqSmkZr91Tqz9j+0FY1Nbnq0ckanqmLOFZ/1oqb3xErxWu7O81+/edF3T9Uaj8SYG/a/5fD6f/6tuv0UI2W9T4vj4OCNSs1+7ezVN080LBX3bmJ29FSe1kEs1l5T6L63ebmtqDKmL4VJz92re9aOl5rMQa5r+5MkT0zWl68ad5b07y3vupHI5tdFoRFqQlyfy+YmJi/mJ5e3t7e3tzy/mL17MW+/SIiNSCz2B9nq9hYWFlnVljZGa0+1YuvDrzxSRt4vDSM27frTUXnvRNL3RaHj6Zl038zQ0VdP0lZUVU22vQ7k/kc9P3P/8Yn7i/uvXrz+/mJ/4fCJvvrk/ke+nY753Fvg+t7Z18r/4+WvPBsFtImKaZERqMzMzuq6bB8a+yjH/tS93NE0jPYGanVF0V7SoIkTUq3nXj5Zaw0vwBNqXmmEYhtFoNHKqmsupptpC+OYvf/rTX74x/23c/NB53f/PWadx80P04U3zLfrwpv9tIKb7A9KYfTqdTkak5hwVTTfvA1qt1uzsLX3bMM9BMzMzpHegQa3ZZ0xkX8SNTW257h4WVRSUmn/9SKlteTGlZvbHzWZT37akpqmGqhqGoWo5TdNzqroVyr3LIyOX723duzzywY0bH6APbvSX3Ls84umnnUUjl+9ZW7rf2gtcq9ufkcbsk0GpmSdN+/rMvtahkZotskU15rbAc9sw5hKZuZXnJBx/W/DIiy01U2f6tucKodVqNRoNTddzOfVRKF9fHhm5/LX5/8jIhRvWkq8vj6ALN8K2uHEBIddH1tsbF9DI5a9dMa3IniVkMbMjNft+033SNG88ZywipZYqk5Xpn72YwrJ1puuW1FTVUHNPnjxRtZwptZ9DufvpyMind80X6MJnzhL7vfXR3U9HkL3qyKefed/e/eyCtfrPn11AwQgkMe/2K9VutzMitdHR0VxO9f3rfmEySA0RMlmZ3vDikZpuqHrOvsVuNpubm5tLS0vmfehGKF9dGhm59FX4Eu0frDOd+f6rSyPu91FvwxeRxTTJiNSkZrIyvebFvMc0f8g1S19qas5QcysrKzk1Z0ptLUWun0fnr5Ovfnh4CFJLmcnKdN2Lecn/8ccf51TVLKbU+j/hWlcIuZxaHzQzf+/0cn/3z/9FsSVILX0mK9M/4TCFFSzYDYeHg4MDkFrKTFamH54BQGrpk7oJG0poyaDUgOGkL7Uv/uM/oUARWhypCVX0/v6+0PipIyJBWRqNsJ4gNT6A1LAMSGqtVkto/NQRkaAsjUZYT5AaH0BqWNKTWvKnqhxPkfWW6mEZ5odrwghP0Befco/hh9DVbuEtxjUvEoZLant7e/5FyZ+qMhvd56ak2pzfIcEnSL/HkJh9H58VLVRsA5daWD1DGJDUdnd3/YuSP1W1NTU2NjWluuyW6UmNIEHqPRLFDDJwqYXUMwxHaicnp93esYhyevr2xctX/vjrVxXl6lrw7fpVpX9+GK/2jru18f6L3kLReTFaXrc2cW/ofutZMl5UEEJIqSyU+y82uq7l1i7ce7d3Ya5jrcCQoBMTIXfKDI3W2ygrSKlsuBdWi85FSLHm7DdsuZVvccHe1heN7eDSSe345LTTPRJRTk/fPnv+wh9/reIcAPNgd4863Y2SggrVo073aLWsoGKt090oKUpp7ahTHUcIFapHnbWKolRWu86LatG13P6061qClNKauUfrRX95xL6C27IlqFRWXRl1quPIrhtbo1lNZMrWX7FgC0S2g9natUL/RdKDOyxSe/v27dNnzyOOhNN8HhkFlFQtKqVqRSnWOtVxpbzhjVAr2E0cKjWvNMNFicarfvUrpWrgsNEmGJYRe6O5iy1cd7V9+YYut7+c1XFUrHE5uJRSOz5pd3oiyunbt0+ePvfHX60oSqVuv60WUaHmWWi/rhaVUqWgVOqdWkGpzJeUQtUfoV5SlEJRUSr1YAR7ie9F6JqoOB9TSYYEQzNibjRPqRVQcb5TKyCltBrcY9Ryp7XnC9YKiQ+uVFLrN9x6SUGmkuolBRVq1kdIKa23O735AkK2GjwRagWEUL+JrRWqRRQvNWtNa1/O3tvmp8ml5ssomdRcbWJlF5lvdDt4misNqR0dnxy2uyLK6enbx3889cevl88p5bqzZG1SQYX57mG9fK7f59ufWh+1u4fzRVSohkaolxRzk7p1LYMU5ZxSrtur+V7YO/Lsq1qwFk3Wg5VkStDJSCGJFhez3Z0r2JUuztmJuxOx9hu13I5zrrTG6+DSSa13dHxw2BFRTk/f/v74ibj4qRcRCQputOqfUWGOXz0ppdY73j9oiyinp6e//f6HuPipFxEJCmy0uQJC6NxknWM96aTW7R219g9FlJPT019/eywufupFRIKyNJpZTzqprQMAK3RSOxHJ8fGx0PipIyJBWRrt+PiYTmrCH5hBKPP/nk1IdOaXGuE2DOzt7b18s5/hIqL1hB4RXgyj1BBCqQtCXEGI/7NnIDUWoFdjazTuMbkzjFKDXo2h0bjH5A5fqbFOBe+tUOyh+vd/RH++k7ZckpSYFrenL6RtxNgjYuPMSO3bTXBJyPYEK7NW0k+81GwfOwepRfRqD/+lP6Ww3FKL7NUchzb1N5biy++Zmdqadj9kNmv6ldkr6Qd6NT4lqvV8U0lTtWPkEQnqwTuLsLoYtoRtZeZKBvBILcLzbTut2QvuWk16qRH0ar4HvBIcRddDU8FZqIOzosc8MIRdmb2SATxSi/B8crAFn9lezXAug8ZUldNR9MrXnDsdpOZI7Yz2ai5cD9ZxO4pRWhl6qYUbcV1+TtZylns11yHmfxnk+wtKhizXakKldjZ7NUdfiyrtjXzMrYYVyeoopbsDjfB8VwuWt5i5nOVeTcDvaoE/NUL0U5nTYaX/u5o4TzaMFjCQ5dECcZ5sGAMVehRThFFq4uzF0KsJPYopwig1cYZg6NWEHsUUYR4tEAX0akKPYoowSk006bqxRf97ZmGRGq2iyREafBgQkaAUjQZSGzQgNSwgNT6A1LCA1PgAUsOCkRrzeAV5hXjtIl1wLR4cxcaPa8fFDIx2yW34dg3rUrsSCCvEcRfpEt3iQdM8qY0+OqYzdN8fb5duuD1mvYTTRpNUaOAzU/NkoL1a0PgmnYkoepLvjbKCirVEhm9cTbLaq5nwlFqwpSS0RkZM8rtaVsinpo5y4cbXg9p4P2QMWGpjquo+CWdEasl1hpWa7DozBt+rSf9sQcCFSzVTcLwLN6oGGdCZMfBrNb8ypLtW80utWkSJrd4YqdHboIeTwf7YYW9rXbZJdwfqM3y7JpNGCCWaEDqqQu4ZARCSuHeT4Xe1M2P4pkpAOmC0AMvgDN/Ckh0KQGpYBmf4FpbsUABSwzI4w7ewZIcCkBqWwRm+hSU7FIDUsAzU8A1kEhap0SqaHKHBhwERCUrRaCC1QQNSwwJS4wNIDQtIjQ8gNSykhu+E45QxFeK1i3SJSdA23dIOu+GOomdoi2SsSYQFnJPUEsxOTVohfrtIl8gEPROs8RrJDljGSUbQxQzAcz+BJjVjE1RIar830WzcvP054dafSF+QGFsRo9QiDd/rV5Vkk3zjKyS33zu+BzK1xvHvFpg4AUncjoLMkoxSi3ThIlSoCnbhZvdazTrdUffZZ05qne5Rp7tRUhKpjewEKrHaCE6g3F2HUkstfNrlvvNbKa2LMHyHJiwdUQmKtO3LfK3mk1q9pKBCrd3ptTvrJQUVqvwN39l/5Djw5yw4xHRCS3sHGpzh2/Z8J3F7xxi+jbDJqmWEJEHeXurkv6txsIAzSg0M38zAaAEWMHzzAaSGBQzffACpYQHDNx9AaljA8M0HkBoWMHwDSWGRGq2iyREafBgQkaAUjQZSGzQgNSwgNT6A1LCA1PgAUsNCJDVq/yh9hZLvIl1wCbJ4jKliSm74NtmaGks8QImpEI9dpEt0gqTzeSeKKd1we0RWY6qa1N4TWyE+u0iXlHs16UxEIYbv2jgqLqxVRpXKBrPbG2P4XlSRuii1Wc1IW2oSWiP9LtxaAY1Xu0erZUUpb4gxfPfbC6SWJKb0UrMVJk5qdhogtSQxJZSax4W7XlKQGwGGb/vyVnp3JFyrYSF6tiDhgwUkzxZAr5YopnR3oEHDt1nqJUWc4dufrJzI+bsaGL4lBEYLsIDhmw8gNSxg+OYDSA0LGL75AFLDAoZvPoDUsIDhG0gKi9RoFU2O0ODDgIgEpWg0kNqgAalhAanxAaSGBaTGB5Aalnipuf8yrKC5cLntIl1iWlzETERs9u5hNnxzm3U7VmryzqrmEJVgkgnkKGJKN9wekhOnjiayQrIPs1uQtDjvWSNdMaUzEfkN3+tXbceaKMO3y7EmteQIWpz7rJFOTAmtkT7Dd3UcKZVVodMuJ5i/c6jAtvjW1Bjtl4k8pvxSCzN/C5vhW+5zaXyCDDqjiimh1GCGb1ZiEmTTGV1M6a7Vomf4rhWQUloVOsO33M+3x10hsF4XUMSU7g4UZvhmJipB98+GtDlSxQTDNxi+hysmd1ilBoZvVkBqWMDwzQeQGhYwfPMBpIYFDN98AKlhAcM3kBQWqdEqmhyhwYcBEQlK0WggtUEDUsMCUuMDSA0LSI0PIDUsOKnZwxPJ/D1xFeK0i3SJStA/gxxNkjGNlknDd39HCQfDoyvEbRfpQtTiW1NjNF+nOPlmzfDN7+BHVkhqfbkgafFFlS5VkpgZMXyvVUZRcSGJzxtr+JbbeusC3+L0djyCo5gVw/dqWVGK4/3HC4o1UdMuqyrr35AYIrAtTnnyJI2ZEcP3alkR/WyBy00qdweHa3H+E5Rmy/BdLdomb1GGb9f1S1YN3wZrajExs2b4bndqBVSctyaWL1RFzPBtJ5LhXo3xSxR3L5U9w/fhfLH/40qhKmqG70z/rmYY7A/wR8UEwzcYviWIyR1WqYHhmxWQGhYwfPMBpIYFDN98AKlhAcM3H0BqWMDwDSSFRWq0iiZHaPBhQESCUjQaSG3QgNSwgNT4AFLDAlLjA0gNS5zUkpiVCSvEcRfpEtPizANvVDFlN3y7YPBb0VYo2S7SJTJBx2ZMPRRKEVO64faY9WjNygwVSriLdCFIkNrfQRFTOhORf4Zv91TfytU1ETN8BxpNUogS5NWrBWJKaI2MmHZ5tawkseCSTLss88nTMEgcs1yv1XwxMyO1WgGNVxPojEBq0v9NFrKTHfzdgtgZvhNavUlm+Jb85GkYVA/SiYgp3bVamNTWS0qiub0JpJYBpdE8HiwipnR3oOGG72RWbyLDt9wnT8Mg+w2M9vtEFRMM32D4Hq6Y3GGVGhi+WQGpYQHDNx9AaljA8M0HkBoWMHzzAaSGBQzfQFJYpEaraHKEBh8GRCQoRaOB1AYNSA0LSI0PIDUsIDU+gNSwYKRmG7ITDlLGVIjXLtIF2+IMk/5SxZTc8O2M6yadHTmyQvx2kS6YFt+aGuM6BuqPKd1we0gy1l4SjonHSY3TLtIltsW3zBl/uUrNG1M6E1HA8L1RVkbL68fd3kIRjVeFGL5trUmtNPxUfgxOKfKYElojgy7ctYqCEEJKaU2YC7d/sSbx2dOIa/H+V4ir1Pwx5ZfaWkVxZvhOpDaCE6jcBsmoBEPVwD2mhFLzunDdVm9BM3yTpzTkRCS45XukmofhOyymdNdqwcnkkVKpC53h27nvpH94bZjAtjjnazVfTOnuQIOG77mC9d0RNsM34e83Q07KUgPDNxi+hy0md1ilBoZvVkBqWMDwzQeQGhYwfPMBpIYFDN98AKlhAcM3kBQWqdEqmhyhwYcBEQlK0WggtUEDUsMCUuMDSA0LSI0PIDUsGKnx+rOwMRXKxF+ejTf8sI2208WU3PCdYHZq0grx20W6xMqCMS+KmNINt/s+8zl8RBi+Oe4iXSJbPIE1iiKmdCYiv+G7No76E3tvlBWkVDb4G769JqLM+dU87jJuzo5ATAmtkQHDd7VoZqQUiopS3hBh+LauCVge9BgeCL9LfKZdDsTMgtTcmhMktZAGlBCSBGnPpeQxJZRa2AzfbaEuXE+jSXxfkK7U5LtWCz5bgAq1vvMbFecFzPC95X7iWGKlkczGTd1rU8SU7g40xvBdmBc1w3fWf1eDGb77gOGbDzBagAUM33wAqWEBwzcfQGpYwPDNB5AaFjB88wGkhgUM30BSWKRGq2hyhAYfBkQkKEWjgdQGDUgNC0iNDyA1LCA1PoDUsJBIzTPeyjZxEK5CHHaRLnEJsg69UcWU3PDtePCsvbFO8hhdIW67SJfYLyrjHOYUMaUbbo9OLMRQQuWZp+jVWHeRLpEJJnDhUcSUzkQUmOHbLM703muVUdv27X6dYIZvfzqSTlkalWASFx55TAmtkeEu3FoBjVe7R53u0WrZsX27Xyd24WZZamOqOkZw0ZMkJkgNpOZ+OIfbswXBmBJKLdzwXSvYFtxqse/L7fTmCxQW8LN8rcb8zaGIKd21Gl5qqxXFmfNbKa0KkFoG70DN1Pg9MRWMKd0daNDwfdjuHrarBVScSzbnN/yuNpS/q4HhW0JgtAALGL75AFLDAoZvPoDUsIDhmw8gNSxg+OYDSA0LGL6BRJCL0pEalZYBgBaQGjAgQGrAgACpAQMCpAYMCJAaMCBAasCAAKkBAwKkBgyI/wcH+057OUrGwQAAAABJRU5ErkJggg==" /></a></div>
<br />
Taking out 5th row out of the result of above query:<br />
<br />
<br />
<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwsAAAA+CAIAAADrmxBuAAANjElEQVR4nO2d3XXjIBBGVRcFUYdL4C1V5JUCUkReVMIWMfuAQMPwI8lxsvbm3rPnrIMRAoTh0wzSLLfbTQAAAABAsaCQAAAAAAwoJAAAAAALCgkAAADAgkICAAAAsKCQAAAAACwoJAAAAAALCgkAAADAgkICAAAAsKCQAAAAACwoJAAAAAALCgkAAADAgkICAAAAsBwrpOBkWWRZZPHi3UFxa9gyu/CwKv48fz7e3j9P5dw7Z9l7CQAAAF6d5VZjvl7DrnWil+VIIbVH3U1wEr9axnU+Pz+LQvrz8f7x5/CIqp6rOBQSAADA67PoP+YKqf5CXLGaNLKpc9Q4f/R7enAS1jrzIssi/oRWCm7ZcM6p04/S+3y+K7n4dkIgbQrJNDnZllzYjWqx/mpPTI114lNKtPkBAADg5zlQSKJXdFclhnX7vAYrelqFNMof/e6WSmKiZLtkQ1qDc/nI6Jcln36UPuHPx9vt7ePj7ZQ8EtU/tuyoOi1uIi84lS3mb1dxSQXGTRut4ZQoBAAAgG/iWCEVdmXT2HiMzcMqpHH+ycami1626JeCVhej9CHbHqQ/H29vH2dO3LUhiYjEniGt9sFFn21mWUglvYhCAgAA+LcsegfS4a5tf0LZSE8ujPI/TiEpou/bikbpX2NYTxQSAADAy3JgQ/LK7aUX+Ohne7FbhTTKb9K92nK0O+bi8b4c5UwTib5Yi0bpIpL3HJ18am1y6tMKqfY2ShGIKCQAAIAn41ghadeYXt3Ng+6xl3+0Q3mUXsmC2Hfhddm3Y9fetFG6iDxEIenKV9JntNO8djj6qFL81uSyvxsAAAD+FRf2IQEAAAD8Eg7ehwQAAADwCyHqCAAAAIAFhQQAAABgQSEBAAAAWFBIAAAAABYUEgAAAIAFhQQAAABgQSEBAAAAWC4oJBPufn+dtN+iZ6Q3QVf/SjCN3tu0h/nTQX5PTFE4OvnrN1lbosii/pkYcL5JLzlXday3pdoSUmiRoEorJYc6vRSuq+dUnqXO06Y7deCoXd3rdToQ7955vr4o6m3gsf7T+1PXfZnG8juof1uf0/jrh8xJNZkNvO9kf0289/4ozuCac7sfru718fYAdJTqZbk7CGMqJvVY6cA7Sov+H3T8fZie68X43lrzY1V6iXFuAkXo0Aijea+dx7xZyOKpWe4l+ufb+f555rRC+nzX8Tl05LXo98tZRWQr4cZytvbqjPJHv0UokyykkkJKmaPf4niYMGcdQlYwIuLrz17lKcrDjDSnBE0XrwTKqj77+sAsMirJpY8NsivHWKer/umn+6baYq9XL2GG7f/yY65/tyUm3eg6mnFyYYKtqzuqz0nmgZbv4HjgfQ+rCjQY/dkVa63CE/4Ql8bbozD9c3ero3fOZZmwBnevMvgXHX8/R+MkHq7E31GTJx/nVVzOHLp0NO/157F0t6ljnh5FbX+h/vluvnueOauQPt6qerSxaU16uybNFVKVX4XI7VIU0jFGYfj8obUnRZXB5aMOV9akTtpiRwrJ9z5Lo5C0euvWpNsuhbleIlfkdi1tRXV41fMqNO/oulvlNL2sw/qP65Pu4Uoku91CqU1cUdVKx8VTZQ7LGRCchLgXtQ3sXHj6cyvq/L2gc4cr8XCOU0aANkPnqEH+VBkX1nzT6aOUO1CX2+VO2VQu3d6p225T8H6b7uwwaKlauganpgkVonFL1U2U0iUuSNICIQe6zgopNTz/EHKPpFTnfCprK6WcwoWozFB7FHBVHdXgfv/fxaVxVSplx4mqp49fUkj/6zhPCsksiP15bzSPreJ8Vlr685iX6Z8H/a5lMn4G88wo/9XfxUmF1BFquoWF3RF2WiF18scDY8OdCsllFaIT8xklKInj1Ic5PguU9bRCillUGVuRdpxJkz5RSE6a31NXWH++3yq/1YiO/C1XRKkcfUFH110XFdzpq1bXf1YfqY3ScTuFV1Zr7WXTth9ri+qVMyINfi2M8jJbVfXSTHfyXlD9wlXmGHW0ZlP53sw4zp8X//R5+yr6egI9cyXPjjcRkViFsi6lj2zVI3RLdbuCUwtA9FvrVtuO0sr0YftT2ZCqI0ruNbi0hkSf/i/ZknrK42SvkRFy9aXs9f9FHmRj0Ga4L3nZ/uNxXtbBkUIq43k4j6VJNYoL29J2OG/Iq/TPN/yum/HTmWdG+e8Yh+cU0p+OSULVpuNl+5IN6bEKqciOoBK7Ckmy2gjZv3ZSIa1N/olCEqV4RjYkvRVpZENq21UYXK/ZVVTMFckmMur7oYkNaXQPMaOu/6FCmn0rqqragNTsijscdRqj9tI+ufJVVy0N0DtArq2G1cqqbRJNQXPbgM1fT4KFfTYcZGg5Od5E7KXR9fHdizUqpjLN9I1JugXpi+DSXLnbSCptdEYh5YWk3GwXhVSPE7cJqMWgcp3u3in3jCs7TkxNvuBt/I/H+ciG1M57BwpJ3cudUUhVE5+2fx70u56Pn948M8p/eRw+QCGJiM+NHHnfpDE5DGW1dKyRbVGXbUhR2WZGXjbJ+6yLmefQK1SUUFD7maRWSGujkErluwpJ/9mKuUm7Cl9TSBOvVjpj8kYZiTD3uiYLzdmfvan/ifrUXw8U0nxD0kWFVK8dnfpcmuZElG3jwgHF5zPRA3PbQJN/NPHl9HMGJJErCknb/MzQUhW4cq+ZzTlb6sxWFL0L0bsQO5P/GpwPX1FIVmP4KFqK9Zr5EIVUFXinDemRCume+qgDnnecd3/m/Xlv6mVLmbOJ8dLU8bz986jftamAGT8H88xovJ0bh3d62XTLtefFrJT6Sp9RSCW/2dXra/l5p5ct1Luk253aovxr68A8Y9BKaKkVj28+txuGRgqptSG1+bvt2viSl03kYGe0b4T/6Drq9DXsZR5h6z+rT0/Z+KUaeCX/bLf4RYW010F72fK38Vxp1ZRVJrqNz/fb7Vb1Q735uExpeukqHh+FnRnn+ccrdHBpL8rJ9fv0eNMrxypuqQxy1TM+R+NHt1Q5tYxSUQIleu+zR23fm637oPIu7eWvyfB0bEOq7++Ls2K8i3zUw+1wGHNxXO0VbFZQLQhrr8Q31ueVxvmBQqrnveFO7XpgHymkF+mfx/2uj8aPnWdG+afl9Llzp7avXRXV1tTWixE76X7w9H6psn6QUvsv+y6SLrHZxONqM0+7xUcrJ3ekkHzt54pNUbr8tX6Yf63dZOap/lRgm76caJeIfHGndjrJ+On6iUm5f93VNqCTtwtt/bv18c2gyrmr52/NVqR2CA3LGfeMfseBnStOG8xqd4s5bXfl0NR7WXKi92VDsX2Iu5ziZH7bD9owc8iV8aaHUOrYrDAu/d5z9fPo3AXKyJuwlh1K+6qjisl/d7wYLgS/d18qND/f33avuV7Sv/Sz/v98v91O3+FcHFfjE1dOCa/F4nfW52XGuR6f1ZI/nvcmb1HZdi/kP8e8TP885nc9Hz+9eWaUfzoO+9z5tD88O1972v/f82LVrblijnolrjiAXvoCPiEfb+f3vf8Ez1afR/JwR+d/xjP1z7M87S/NG/zgyfniGyP/Oa843qIyLN33FNJzcnl/4wuOt6fmaCfoT/Ns9XkQ9+8n/x08Xf880RsjAQAAAH4NKKQTtJuBzFuLAAAA4P8ChQQAAABgQSEBAAAAWFBIAAAAABYUEgAAAIAFhQQAAABgmSkkr9/1Wd4T6rcXZT7F6xDuo3kl6VeKSe/O0u/avauc53kFl4iYdxC/8KUGAAC4j6kNqXk1cAmnMoxC9yLoCDWzGElHVNGcvhDZsQ26/I9pwx4CAAD8JqYKKUfUC86GK1+D+LBHkIn6kMVGpZEchyXFhK8OGeSfoCLJOK1IRun9lmlJUqsBZTzxUafscb93W1H0LoQcAC8rpGR/0ZGWXFi3VOd8KmsrpZzChajMUDoqYc/WlVJVBKiZnPnz8XZrOHhfNQoJAAB+N0cKyYmIeCc+f9i+CVXA2rJ265i9bQz2XQbFPYLdMH+3RrXtpxNzu41BfVSOCgEuJY7lVlAJe1nLhRKXJua44GGtbEjVESV3iZ+cI/9VMcDLmVUMcCPkqnZl8ZU+P1jP4GUDAIDfzdJaF/TX3m2+tiRltELScdS3hVsbhFrzUhvOc56/zygyzLWIMbVppm9MEqVt0hc5VHj0uSWVNjqjkLKgSXXUCkmfeUuvA5Lbpp0OH3iPDanuBTQSAAD8Ng5iZwQn3ouPsgZxfnO6yUghKSNTh17A81n+Q4qN52S6YrchZXPOljqzFUXvQvQuxD2bFj8+fEUhVWonp+9SrNvMn9q7NK0GAADA/8ixQnJp79EqbtklzkghRd+RQW22PW2Sv18fpQqUbWOULiIin++3262ORK29bMqpZZSKUgbRe589avvebK1StifSbPlrMjwd25AW1bmlQrNd5N+pkLS3cTUGLgAAgF/AgUKKXpZsNyr7tctuax/3twDorUit18zXrjS94Hbzj6jdTnsxo3QR6Sik4pHLld4FSu3Y2gtai2bYRYsqJv9dqZz8ZfDLsjjvXSk0P9+vzrZ/b5787zXNvK7gWwSMqhoGJAAA+HUQoR4AAADAgkICAAAAsKCQAAAAACwoJAAAAAALCgkAAADAgkICAAAAsKCQAAAAACx/Af7N0Z6xL7cLAAAAAElFTkSuQmCC" /><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAABcCAIAAAB7gxeDAAAMIElEQVR4nO2dW2/bRhbH55MUyAcIsCorg/Y36Ptm3aCIs5EMfoQNEqMvhRPUMgP4xQ4Y2As9BEa6SW1Ju3AbJJtqgRbbWFO7kS/K2lFzcZrYsmyJuluWwX0Y8TIULyNKNC15/jhQOMOZQ56ZXw5JaSSDUqkUDofz+Xw4HP5IrA+yMpnMzMxMuVwuFkvFYrFQUE0UC6JY0NZQo6YY0JK3hyuTyaCNw8NDURQPDw/3WnRwcHD37t1SqVwsFkVRzFNRkcmePITdpUuXRFE0I69YLOXz4uFhLps9oEaNxGzIQ9hduHDh+vXrluQVD3P5bPYgk9mnRo3ErMhD2H3yySeff/753NycBXmFQvHg4DCT2d/d3aNGjcSsyCsUChcvXvT7/Tdu3FhYWLAgb28v8+bN262tV5ubL6lRIzH7nPfll1/yPP/9999bkLe7u5dOv06l/pdMblCjRmJE93m3b9/+8ccfLcj7+HF3a+vV2trmysoLatRIjPTZdmlpyYK8Dx8+plJbq6vJ5eVfqVEjse68n/du5/3Kyouff37+00//pUaNxIjIsxAi79Wr3+Pxn549+8/Tf8epUSMxjLwssfZl5XK5hw8fLi8nfvtt7ddff4NwhRo1EsPIO8SVy+UO7ZTP51dXVxcWFv5ORdWOMPIyVFSnJYw8KqpTk0oeFdVpipJH5Y0oeVTeiJJH5Y1U8ib46X41rweZykAYeVI/ipJ3NnUuyDs/5jVObehckNc4H+pD8jgBGhrD6e00kSLUBD9dwBWPx+PxeAxXOHy/0MvqW/IEKDVNkDgT6xXyBEF/nplMhhMET4jplvqWPNtsx3CQYUzI254aApi4JUcQbU8NDU1tt9lpgp8WcSnkiaIIsxLMSvPLeY4TxF7W8fFxH5KnTRKJRELZjsfjaKNWqwkCZBiOiBhHAKkd2+zeOh8onFQqBSFMJBLzy3lBgBwneDH+XVP/k6fQJklSLBaTJKlWq4miKAhwcHDQihi1vMQ5y3pOycvhEgQoQBiLxQQBhsP3kXGckCPUym0/AOCv/8DK/tsrpP1dUX+SFw7fT6VSiUQijgtNHro9b4M8pahehZu7lYqhqW2sl8ocxw2pPbD25uQd4Gq9z5tfzjeTH4QChOl0+sBC8Jbf7/f7b0GlCABQih6pXq/3J3nKtjbnCQJENxkwK4XD963IM7jN05DV3JRz4fbUEOCWjMnT5jy8vTl5ugXVggB3dnbQKjEIpfnl/PxyXhsUw3DpdNp0QfbyuN8/Pj7iH1/OZrPZ7IMR/8iIXy55pf4kz/BqW6vVYrGYKN+k25CnJiUZEz2OiCk8AdqQh7c3J28flyDAdDqNZW4IUZySwAkCTCQSCL59Qz0f9/vHnz8Y8Y8/39/ffzDiH38w7keF5+P+ZjiorFbo9st91fhHHuxjHVr7mPhE6k/yZmZmIIRonpQ7JPSq3CoJgkB6tUWpyjxRLXEAEOU8vL05eWlcrVfbJnmSJElSOp1mOI5hOASfgZ599emnXz1Dr+m5y+p28x+1TXruMrg8h4rg8py+2OJTu4PUZ1OVSqU/yVMnSYDokUIUxXD4PsxK6II1MzND+mzbip5yeQXKDeDQ1LbmQWSJA63k6dubkreNC5GHsnUmk4FZmTyBkzhOkiROYAQBMhy3bainYz7f2NPtp2O+L2ZnvwBfzDZrno75sCyuVvnGnso9tUWlQtNc2Ufqs6n+Jw9dYZV7O+U+qR3yFOaWOIsnDOwJZEjDHOqFXbGtnzC2cCnkIexgFrudEEUxnU4LEDIMt2WoJ2M+39gT9K/PNzwr1zwZ84HhWaMes8MAaHbJxdlh4Bt7ovEpe8ZqyHz2LXnKk6z2CoseaWdkmZLnqSb46Ze4EGcKdhDK5HGcxDE7OzucwCDyXhrq8U2f7+ZjtAGG76k1Slne9fimDyhNfTfv4cXH94bl5i/vDYNWDyQ+HzdPqlwu9yd5g4ODDMPpXrUbSKfGE7km+OlNXBh5UOIgozy8ZzKZVCoVj8fRE+6moX644fPd+MG4RviLfFlE5R9u+LRls6JxFZlPpP4kr6c1wU+v40JPr+j9ZGRN8jhG4phEIsFwDCJv3UPdvQQu3SVvXiqVKHlnSxP8dBIXenq4evUqw3HIEHnNd5Ll2wmG4ZKnrZk/qznwT3/7Vxs9KXlnThP89As7Ic5azbbj2VGxWKTknS1N8NOr50CUvDMnz1eoUzO0/ieP6mzKmLyH3/2TGjVXzZQ8V3kvFAqu+vdcnQfYK0Pk+Dwpea6Ikmcrb8gTRdFV/56r8wB7ZYgcnyclzxVR8mx1Zsjr/Ptp6qIpudjW94wcfy/JSMYB6vxbHtF4RjWjZDw+XY2CRD1GXj6f11d1/v00NCu6xaRtde/enNkHaHdEAw/NVYpyX0P2Tp08o/Mkkjfk5XI5fVXn30/bnhoampriNKtNvSOPIECbIxJ5aNWpk2dwnmQyJe/4uFGt1d2wRuPk4+6e3v/GHZa9s95a3LjDNi8vo5FavRodbW7UYkF1Y3ByQ+6i7agtYjWjQRYAAFg+Ntnc2Kxq6uVDaI+uHAK1kRs4CFD1CYA2ZFsPtc1JFrD8prYyElTvT4JR9ShG9XJ0wZjSV+fN2VR2mbz6caNSPXLDGo2TPz581Ptf59X5QHNfPapUN0MsCESOKtWjtUkWBKOV6maIZUPrR5XIKAAgEDmqrPMsy69V1Y1IUFOv7K1qagAbWkdHlDea9SbHau3rLECWX9NEVImMAuXcSDzIA4KY1Z9Ga7ymUaOxjQaaG51OZc+Qd3Jy8v6PDyYTo44vRlULWJEgG4rwbDBaiYyyk5u4h2hAmQND8nBSjRkFoxH9fwY2FGmZ13YDNIqI1IPWFGq1J6mLzrBe+Z8ZGQXBaFemstvk1Y/LlZob1jg52Xn/Qe9/jWdZPqkUI0EQiGKVynYkyIb4AMsnK9EAyy+G2EBE7yEZYtlAkGX5ZKsHpUa3YdgSBBctTtJBgIYREXrALBoAwcVKNADY0Fqrf7N6dWwXA3KDjqeyv8hrjuxGiAUIrGSIBYGovAuwoY1ypbYYAECBA/MQDQAAmnMgN4gEgTV5ckv5WOrRy2hv5+TpImqHPM0IyLGYRmceNTY4Z5K8o/pxqVx1wxqNk7fv3uv9JycH2MmkWrM+wYLAYrWUnBxoXjKUvfKucrW0GASBiKGHZIhFXZLynRFg2QF2Mqk0020oB8KOFQnIVRPJ1pN0FKAaEWvmzdhDuboQUE4xuKCEqT1t+Shm9YqfgdB6t6ayy+TVjurFUsUNazRO3rzdcc+/59Z5gC4PUeQaCCx0L9Juk1erF4plN6zRaLx+8849/55b5wG6OEQLAQDAwESyi5F2mbxq7UgslNyw40bj99dv3fPvuXUeYK8METrPLpO3QUVFpi6Td+ym6vW6q/49V+cB9soQ1ev1LpPn+lePAOj71/MgZ9jZkOfYqa3y+fzuQaGPrfPRc3X8u6WeJA8A4Dkf7hkAoPMh6spQu6qeJM9zOFw1mvNsRXOeK0Zznq0ckOf0bwpoZJ7zHl1RP/QZ+Bp6z5Azs5gS5dcqrUexLQ/Oatpy2O5J2qot8pRvAXSBPJOc9+gKuDbvNTedm1nOa/mFXqshIvWA/WS5/NcabGu0Hskbk50kic5YzoPffOb/5hevuencSKbEelbb8ID/njS3JBHVKGqrcfsnaSYr8kwWxCvL0J2bac6D33wmp/nPbq16DpBjI7jPc5jzWj2Y/Ya+dY3WC3nj9k/SVFbkmayJ7cIqatOc9+010Mx5q1/7wZVvvWfImdlOie4rmg4mVfFAyWuPPNtn219uDfRu2rPOebbY2U6q1kM/kme8LFmz3tWpkbyf19PkWUwJCXbWk6r30H/3ea6SZ5jzfrk1AK4+2j0o7B48utLL76qY5rwljvCdAdNJbfXQf8+2JgviIwF5KbZjs8h581f74QnDbErU98kAAJZ/QKYtD47ez1PT2Zl7P8+9Bev0MwxbnevPMNxbsE4/t3V1Uk9NbpHn3mpsmvNcndRTk1vkubd+muY8Vyf11OTeZxhuieY8Vyf11OQWeW4LnIEF6+69ngd1Qq03v59HRUXJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb/R/+baTRA/Ly08AAAAASUVORK5CYII=" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAABcCAIAAAB7gxeDAAAMIElEQVR4nO2dW2/bRhbH55MUyAcIsCorg/Y36Ptm3aCIs5EMfoQNEqMvhRPUMgP4xQ4Y2As9BEa6SW1Ju3AbJJtqgRbbWFO7kS/K2lFzcZrYsmyJuluWwX0Y8TIULyNKNC15/jhQOMOZQ56ZXw5JaSSDUqkUDofz+Xw4HP5IrA+yMpnMzMxMuVwuFkvFYrFQUE0UC6JY0NZQo6YY0JK3hyuTyaCNw8NDURQPDw/3WnRwcHD37t1SqVwsFkVRzFNRkcmePITdpUuXRFE0I69YLOXz4uFhLps9oEaNxGzIQ9hduHDh+vXrluQVD3P5bPYgk9mnRo3ErMhD2H3yySeff/753NycBXmFQvHg4DCT2d/d3aNGjcSsyCsUChcvXvT7/Tdu3FhYWLAgb28v8+bN262tV5ubL6lRIzH7nPfll1/yPP/9999bkLe7u5dOv06l/pdMblCjRmJE93m3b9/+8ccfLcj7+HF3a+vV2trmysoLatRIjPTZdmlpyYK8Dx8+plJbq6vJ5eVfqVEjse68n/du5/3Kyouff37+00//pUaNxIjIsxAi79Wr3+Pxn549+8/Tf8epUSMxjLwssfZl5XK5hw8fLi8nfvtt7ddff4NwhRo1EsPIO8SVy+UO7ZTP51dXVxcWFv5ORdWOMPIyVFSnJYw8KqpTk0oeFdVpipJH5Y0oeVTeiJJH5Y1U8ib46X41rweZykAYeVI/ipJ3NnUuyDs/5jVObehckNc4H+pD8jgBGhrD6e00kSLUBD9dwBWPx+PxeAxXOHy/0MvqW/IEKDVNkDgT6xXyBEF/nplMhhMET4jplvqWPNtsx3CQYUzI254aApi4JUcQbU8NDU1tt9lpgp8WcSnkiaIIsxLMSvPLeY4TxF7W8fFxH5KnTRKJRELZjsfjaKNWqwkCZBiOiBhHAKkd2+zeOh8onFQqBSFMJBLzy3lBgBwneDH+XVP/k6fQJklSLBaTJKlWq4miKAhwcHDQihi1vMQ5y3pOycvhEgQoQBiLxQQBhsP3kXGckCPUym0/AOCv/8DK/tsrpP1dUX+SFw7fT6VSiUQijgtNHro9b4M8pahehZu7lYqhqW2sl8ocxw2pPbD25uQd4Gq9z5tfzjeTH4QChOl0+sBC8Jbf7/f7b0GlCABQih6pXq/3J3nKtjbnCQJENxkwK4XD963IM7jN05DV3JRz4fbUEOCWjMnT5jy8vTl5ugXVggB3dnbQKjEIpfnl/PxyXhsUw3DpdNp0QfbyuN8/Pj7iH1/OZrPZ7IMR/8iIXy55pf4kz/BqW6vVYrGYKN+k25CnJiUZEz2OiCk8AdqQh7c3J28flyDAdDqNZW4IUZySwAkCTCQSCL59Qz0f9/vHnz8Y8Y8/39/ffzDiH38w7keF5+P+ZjiorFbo9st91fhHHuxjHVr7mPhE6k/yZmZmIIRonpQ7JPSq3CoJgkB6tUWpyjxRLXEAEOU8vL05eWlcrVfbJnmSJElSOp1mOI5hOASfgZ599emnXz1Dr+m5y+p28x+1TXruMrg8h4rg8py+2OJTu4PUZ1OVSqU/yVMnSYDokUIUxXD4PsxK6II1MzND+mzbip5yeQXKDeDQ1LbmQWSJA63k6dubkreNC5GHsnUmk4FZmTyBkzhOkiROYAQBMhy3bainYz7f2NPtp2O+L2ZnvwBfzDZrno75sCyuVvnGnso9tUWlQtNc2Ufqs6n+Jw9dYZV7O+U+qR3yFOaWOIsnDOwJZEjDHOqFXbGtnzC2cCnkIexgFrudEEUxnU4LEDIMt2WoJ2M+39gT9K/PNzwr1zwZ84HhWaMes8MAaHbJxdlh4Bt7ovEpe8ZqyHz2LXnKk6z2CoseaWdkmZLnqSb46Ze4EGcKdhDK5HGcxDE7OzucwCDyXhrq8U2f7+ZjtAGG76k1Slne9fimDyhNfTfv4cXH94bl5i/vDYNWDyQ+HzdPqlwu9yd5g4ODDMPpXrUbSKfGE7km+OlNXBh5UOIgozy8ZzKZVCoVj8fRE+6moX644fPd+MG4RviLfFlE5R9u+LRls6JxFZlPpP4kr6c1wU+v40JPr+j9ZGRN8jhG4phEIsFwDCJv3UPdvQQu3SVvXiqVKHlnSxP8dBIXenq4evUqw3HIEHnNd5Ll2wmG4ZKnrZk/qznwT3/7Vxs9KXlnThP89As7Ic5azbbj2VGxWKTknS1N8NOr50CUvDMnz1eoUzO0/ieP6mzKmLyH3/2TGjVXzZQ8V3kvFAqu+vdcnQfYK0Pk+Dwpea6Ikmcrb8gTRdFV/56r8wB7ZYgcnyclzxVR8mx1Zsjr/Ptp6qIpudjW94wcfy/JSMYB6vxbHtF4RjWjZDw+XY2CRD1GXj6f11d1/v00NCu6xaRtde/enNkHaHdEAw/NVYpyX0P2Tp08o/Mkkjfk5XI5fVXn30/bnhoampriNKtNvSOPIECbIxJ5aNWpk2dwnmQyJe/4uFGt1d2wRuPk4+6e3v/GHZa9s95a3LjDNi8vo5FavRodbW7UYkF1Y3ByQ+6i7agtYjWjQRYAAFg+Ntnc2Kxq6uVDaI+uHAK1kRs4CFD1CYA2ZFsPtc1JFrD8prYyElTvT4JR9ShG9XJ0wZjSV+fN2VR2mbz6caNSPXLDGo2TPz581Ptf59X5QHNfPapUN0MsCESOKtWjtUkWBKOV6maIZUPrR5XIKAAgEDmqrPMsy69V1Y1IUFOv7K1qagAbWkdHlDea9SbHau3rLECWX9NEVImMAuXcSDzIA4KY1Z9Ga7ymUaOxjQaaG51OZc+Qd3Jy8v6PDyYTo44vRlULWJEgG4rwbDBaiYyyk5u4h2hAmQND8nBSjRkFoxH9fwY2FGmZ13YDNIqI1IPWFGq1J6mLzrBe+Z8ZGQXBaFemstvk1Y/LlZob1jg52Xn/Qe9/jWdZPqkUI0EQiGKVynYkyIb4AMsnK9EAyy+G2EBE7yEZYtlAkGX5ZKsHpUa3YdgSBBctTtJBgIYREXrALBoAwcVKNADY0Fqrf7N6dWwXA3KDjqeyv8hrjuxGiAUIrGSIBYGovAuwoY1ypbYYAECBA/MQDQAAmnMgN4gEgTV5ckv5WOrRy2hv5+TpImqHPM0IyLGYRmceNTY4Z5K8o/pxqVx1wxqNk7fv3uv9JycH2MmkWrM+wYLAYrWUnBxoXjKUvfKucrW0GASBiKGHZIhFXZLynRFg2QF2Mqk0020oB8KOFQnIVRPJ1pN0FKAaEWvmzdhDuboQUE4xuKCEqT1t+Shm9YqfgdB6t6ayy+TVjurFUsUNazRO3rzdcc+/59Z5gC4PUeQaCCx0L9Juk1erF4plN6zRaLx+8849/55b5wG6OEQLAQDAwESyi5F2mbxq7UgslNyw40bj99dv3fPvuXUeYK8METrPLpO3QUVFpi6Td+ym6vW6q/49V+cB9soQ1ev1LpPn+lePAOj71/MgZ9jZkOfYqa3y+fzuQaGPrfPRc3X8u6WeJA8A4Dkf7hkAoPMh6spQu6qeJM9zOFw1mvNsRXOeK0Zznq0ckOf0bwpoZJ7zHl1RP/QZ+Bp6z5Azs5gS5dcqrUexLQ/Oatpy2O5J2qot8pRvAXSBPJOc9+gKuDbvNTedm1nOa/mFXqshIvWA/WS5/NcabGu0Hskbk50kic5YzoPffOb/5hevuencSKbEelbb8ID/njS3JBHVKGqrcfsnaSYr8kwWxCvL0J2bac6D33wmp/nPbq16DpBjI7jPc5jzWj2Y/Ya+dY3WC3nj9k/SVFbkmayJ7cIqatOc9+010Mx5q1/7wZVvvWfImdlOie4rmg4mVfFAyWuPPNtn219uDfRu2rPOebbY2U6q1kM/kme8LFmz3tWpkbyf19PkWUwJCXbWk6r30H/3ea6SZ5jzfrk1AK4+2j0o7B48utLL76qY5rwljvCdAdNJbfXQf8+2JgviIwF5KbZjs8h581f74QnDbErU98kAAJZ/QKYtD47ez1PT2Zl7P8+9Bev0MwxbnevPMNxbsE4/t3V1Uk9NbpHn3mpsmvNcndRTk1vkubd+muY8Vyf11OTeZxhuieY8Vyf11OQWeW4LnIEF6+69ngd1Qq03v59HRUXJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb0TJo/JGlDwqb/R/+baTRA/Ly08AAAAASUVORK5CYII=" /></a></div>
<br />
As you can see it is very easy to get nth record by just using ROW_NUMBER() function.Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-22541672448023782462015-10-31T02:12:00.000+05:302016-11-04T22:22:07.780+05:30JQuery: Using Draggable control from JQuery<h2>
Draggable:</h2>
Below JSFiddle demo provides simple way to drag drop <div> around. It is very simple code and can be done easily using JQuery.<br />
For more details visit JQuery website i.e. <a href="http://jqueryui.com/draggable/">http://jqueryui.com/draggable/</a><br />
Below is JSFiddle link where you can play with Draggable control.<br />
<h3>
JSFiddle:</h3>
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="300" src="//jsfiddle.net/SiddharthMishra/LtL7yby7/embedded/" width="100%"></iframe>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-45086199197796242662015-10-29T23:34:00.000+05:302016-11-04T22:26:11.558+05:30JavaScript: Opening HTML dropdown panel on MouseOver using JavaScript.There could be a scenario where you have to open Dropdown
panel on ‘mouseover’. It could become more irritating if you don't do it right.
I got a JavaScript method to do that.<br />
<div class="MsoNormal">
<o:p></o:p></div>
<br />
<div class="MsoNormal">
The code is below and demo could be seen <a href="https://jsfiddle.net/SiddharthMishra/kzdkpmvq/1/embedded/result/" target="_blank">here</a>. (<a href="http://jsfiddle.net/SiddharthMishra/kzdkpmvq/1/">https://jsfiddle.net/SiddharthMishra/kzdkpmvq/1/embedded/result/</a>)<o:p></o:p></div>
<br />
<div class="MsoNormal">
You can play with it by using JSFiddle.<br />
<h3>
JSFiddle:</h3>
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="300" src="//jsfiddle.net/SiddharthMishra/kzdkpmvq/1/embedded/" width="100%"></iframe>
</div>
<bt>
</bt>
<br />
<div class="MsoNormal">
<h3>
<b>HTML Code</b>: </h3>
We
have created a simple HTML Dorpdown element here.<o:p></o:p></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><div class="MsoNormal" style="background: white; margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="background: white; margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">select</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">id</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="actionList"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin-bottom: 0.0001pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">action</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=""></span><span style="font-family: "consolas"; font-size: 10pt;">ACTIONS</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin-bottom: 0.0001pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">action</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="add"></span><span style="font-family: "consolas"; font-size: 10pt;">ADD NEW</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 0.5in;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">action</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="edit"></span><span style="font-family: "consolas"; font-size: 10pt;">EDIT</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">option</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: maroon; font-family: "consolas"; font-size: 10.0pt;">select</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<h3>
<b>JavaScript Code:</b> </h3>
We will add JavaScript methods to ‘ onmouseover ’ and ‘onmouseleave’ events.<o:p></o:p><br />
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><pre style="background: white;"><span style="color: blue; font-family: "consolas";"> </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> actionList = </span><span style="color: purple; font-family: "consolas";">document</span><span style="font-family: "consolas";">.</span><span style="color: darkcyan; font-family: "consolas";">getElementById</span><span style="font-family: "consolas";">(</span><span style="color: #a31515; font-family: "consolas";">"actionList"</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">
</span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">actionList.</span><span style="color: darkcyan; font-family: "consolas";">onchange</span><span style="font-family: "consolas";"> = </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> () { </span><span style="color: darkblue; font-family: "consolas";">templateAction</span><span style="font-family: "consolas";">(templateActionList); }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">
</span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">actionList.</span><span style="color: darkcyan; font-family: "consolas";">onmouseover</span><span style="font-family: "consolas";"> = </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> () { </span><span style="color: darkblue; font-family: "consolas";">selectElementMouseover</span><span style="font-family: "consolas";">(actionList); }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">
</span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">actionList.</span><span style="color: darkcyan; font-family: "consolas";">onmouseleave</span><span style="font-family: "consolas";"> = </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> () { </span><span style="color: darkblue; font-family: "consolas";">selectElementMouseleave</span><span style="font-family: "consolas";">(actionList); }<o:p></o:p></span></pre>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> </span><span style="color: purple; font-family: "consolas";">selectElementMouseover</span><span style="font-family: "consolas";">(element) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">(element, </span><span style="color: #a31515; font-family: "consolas";">"mousedown"</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">(element, </span><span style="color: #a31515; font-family: "consolas";">"mouseup"</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">}<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> </span><span style="color: purple; font-family: "consolas";">selectElementMouseleave</span><span style="font-family: "consolas";">(element) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">(element, </span><span style="color: #a31515; font-family: "consolas";">"mousedown"</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">}<o:p></o:p></span></pre>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Now below method will take care of the rest:<o:p></o:p></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><pre style="background: white;"><span style="color: green; font-family: "consolas";">// To fire any event from JavaScript.</span><span style="font-family: "consolas";"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: blue; font-family: "consolas";">function</span><span style="font-family: "consolas";"> </span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">(node, eventName) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> doc;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">if</span><span style="font-family: "consolas";"> (node.</span><span style="color: purple; font-family: "consolas";">ownerDocument</span><span style="font-family: "consolas";">) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> doc = node.</span><span style="color: purple; font-family: "consolas";">ownerDocument</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> } </span><span style="color: blue; font-family: "consolas";">else</span><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">if</span><span style="font-family: "consolas";"> (node.</span><span style="color: purple; font-family: "consolas";">nodeType</span><span style="font-family: "consolas";"> == 9) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> doc = node;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> } </span><span style="color: blue; font-family: "consolas";">else</span><span style="font-family: "consolas";"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">throw</span><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">new</span><span style="font-family: "consolas";"> </span><span style="color: darkcyan; font-family: "consolas";">Error</span><span style="font-family: "consolas";">(</span><span style="color: #a31515; font-family: "consolas";">"Invalid node passed to fireEvent: "</span><span style="font-family: "consolas";"> + node.</span><span style="color: purple; font-family: "consolas";">id</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">if</span><span style="font-family: "consolas";"> (node.</span><span style="color: darkcyan; font-family: "consolas";">dispatchEvent</span><span style="font-family: "consolas";">) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> eventClass = </span><span style="color: #a31515; font-family: "consolas";">""</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: green; font-family: "consolas";">// Different events have different event classes.</span><span style="font-family: "consolas";"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">switch</span><span style="font-family: "consolas";"> (eventName) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"click"</span><span style="font-family: "consolas";">: </span><span style="color: green; font-family: "consolas";">// 'click' works correctly in Safari. </span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="font-family: "consolas";"> </span><span style="color: green; font-family: "consolas";">//</span><span style="font-family: "consolas";"> </span><span style="color: green; font-family: "consolas";">For other we should use 'mousedown' or 'mouseup'.</span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"mousedown"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"mouseup"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> eventClass = </span><span style="color: #a31515; font-family: "consolas";">"MouseEvents"</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">break</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"focus"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"change"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"blur"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">case</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"select"</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> eventClass = </span><span style="color: #a31515; font-family: "consolas";">"HTMLEvents"</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">break</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">default</span><span style="font-family: "consolas";">:<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">throw</span><span style="font-family: "consolas";"> </span><span style="color: #a31515; font-family: "consolas";">"fireEvent: Couldn't find an event class for event '"</span><span style="font-family: "consolas";"> </span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="font-family: "consolas";"> </span><span style="font-family: "consolas";"> </span><span style="font-family: "consolas";">+ eventName + </span><span style="color: #a31515; font-family: "consolas";">"'."</span><span style="font-family: "consolas";">;</span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">break</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> event = doc.</span><span style="color: darkcyan; font-family: "consolas";">createEvent</span><span style="font-family: "consolas";">(eventClass);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> bubbles = eventName == </span><span style="color: #a31515; font-family: "consolas";">"change"</span><span style="font-family: "consolas";"> ? </span><span style="color: blue; font-family: "consolas";">false</span><span style="font-family: "consolas";"> : </span><span style="color: blue; font-family: "consolas";">true</span><span style="font-family: "consolas";">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">
</span></pre>
<pre style="background: white;"><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;"><span style="font-family: "consolas";"> </span><span style="color: green; font-family: "consolas";">// All events created as bubbling and cancelable.</span></pre>
</pre>
<pre style="background: white;"><span style="font-family: "consolas";"> event.</span><span style="color: darkcyan; font-family: "consolas";">initEvent</span><span style="font-family: "consolas";">(eventName, bubbles, </span><span style="color: blue; font-family: "consolas";">true</span><span style="font-family: "consolas";">); </span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> event.</span><span style="color: darkblue; font-family: "consolas";">synthetic</span><span style="font-family: "consolas";"> = </span><span style="color: blue; font-family: "consolas";">true</span><span style="font-family: "consolas";">; <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> node.</span><span style="color: darkcyan; font-family: "consolas";">dispatchEvent</span><span style="font-family: "consolas";">(event, </span><span style="color: blue; font-family: "consolas";">true</span><span style="font-family: "consolas";">);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> } </span><span style="color: blue; font-family: "consolas";">else</span><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">if</span><span style="font-family: "consolas";"> (node.</span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">) {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> </span><span style="color: blue; font-family: "consolas";">var</span><span style="font-family: "consolas";"> event = doc.</span><span style="color: darkcyan; font-family: "consolas";">createEventObject</span><span style="font-family: "consolas";">();<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> event.</span><span style="color: darkblue; font-family: "consolas";">synthetic</span><span style="font-family: "consolas";"> = </span><span style="color: blue; font-family: "consolas";">true</span><span style="font-family: "consolas";">; <o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> node.</span><span style="color: darkcyan; font-family: "consolas";">fireEvent</span><span style="font-family: "consolas";">(</span><span style="color: #a31515; font-family: "consolas";">"on"</span><span style="font-family: "consolas";"> + eventName, event);<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="font-family: "consolas";">};<o:p></o:p></span></pre>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<br />
Reference:<a href="http://jsfiddle.net/mendesjuan/rHMCy/4/"> http://jsfiddle.net/mendesjuan/rHMCy/4/</a>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-74683472767098468502015-03-12T01:30:00.000+05:302016-11-04T22:26:51.173+05:30WPF: Simple TimePicker User Control for WPF<div class="MsoNormal">
<div class="MsoNormal">
Hey Guys!</div>
<div class="MsoNormal">
WPF gives us
DatePicker but it doesn’t give us TimePicker. I tried to create a very simple
TimePicker user control.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
And the bumper
offer is that it is free. Use it wherever you want. <span style="font-family: "wingdings";">J</span><o:p></o:p></div>
<div class="MsoNormal">
Hope this will help
you a lot.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
XAML Code:<o:p></o:p></div>
<div class="MsoNormal">
==========</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I used TextBlocks to show Hours and Minutes. Up and Down buttons are attached to increment decrement hours and minutes. Drop down with AM/PM values actually add/subtracts 12 hours from actual time based on your selection. I have created SelectedTime dependency property to do bindings.</div>
<div class="MsoNormal">
<br /></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 0in 0in 0in; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><div class="MsoNormal" style="background: white;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">UserControl</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Class</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="UserControls.ucDateTimeUpDown"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> xmlns</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="</span><a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><span style="font-family: "consolas"; font-size: 10.0pt;">http://schemas.microsoft.com/winfx/2006/xaml/presentation</span></a><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> xmlns</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="</span><a href="http://schemas.microsoft.com/winfx/2006/xaml"><span style="font-family: "consolas"; font-size: 10.0pt;">http://schemas.microsoft.com/winfx/2006/xaml</span></a><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> xmlns</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">d</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="</span><a href="http://schemas.microsoft.com/expression/blend/2008"><span style="font-family: "consolas"; font-size: 10.0pt;">http://schemas.microsoft.com/expression/blend/2008</span></a><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> xmlns</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">mc</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="</span><a href="http://schemas.openxmlformats.org/markup-compatibility/2006"><span style="font-family: "consolas"; font-size: 10.0pt;">http://schemas.openxmlformats.org/markup-compatibility/2006</span></a><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> mc</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Ignorable</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="d"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Grid</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderBrush</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Black"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=".25" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Orientation</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Horizontal"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">TextBlock</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="AddHoursTextBox"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> MinWidth</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="20"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Text</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Binding</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> DisplayTimeHours</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Mode</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=OneWay}"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TextAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Orientation</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Vertical"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="HourUpButton"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Click</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="HourUpButton_OnClick"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TargetType</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Button"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderBrush</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Black"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=".25"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Width</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Height</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Image</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Source</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StaticResource</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> UpImage</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="HourDownButton"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Margin</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="0,-1,0,0"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Click</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="HourDownButton_OnClick"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TargetType</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Button"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderBrush</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Black"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=".25"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Width</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Height</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Image</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Source</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StaticResource</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> DownImage</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">TextBlock</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Margin</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="3,0,0,0"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Text</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="h." /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">TextBlock</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Margin</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="3,0,0,0"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Text</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=":"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TextAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">TextBlock</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="AddMinutesTextBox"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> MinWidth</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="20"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Text</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Binding</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> DisplayTimeMinutes</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Mode</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=OneWay}"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TextAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Orientation</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Vertical"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="MinutesUpButton"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Click</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="MinutesUpButton_OnClick"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TargetType</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Button"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderBrush</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Black"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=".25"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Width</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Height</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Image</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Source</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StaticResource</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> UpImage</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="MinutesDownButton"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Margin</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="0,-1,0,0"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Click</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="MinutesDownButton_OnClick"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> TargetType</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Button"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderBrush</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Black"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="0.25"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Width</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Height</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="10"></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Image</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Source</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StaticResource</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> DownImage</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Viewbox</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Border</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ControlTemplate</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button.Template</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Button</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">TextBlock</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Margin</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="3,0,3,0"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> Text</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="m." /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"><</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">ComboBox</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> x</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">:</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;">Name</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="AmPmComboBox"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> MinWidth</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="45"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> HorizontalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> VerticalAlignment</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="Center"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> BorderThickness</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">=".25"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> ItemsSource</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Binding</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> AmPmTypes</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}"</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> SelectedItem</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">="{</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Binding</span><span style="color: red; font-family: "consolas"; font-size: 10.0pt;"> DisplayAmPm</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">}" /></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">StackPanel</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<br /></div>
<div class="MsoNormal" style="background: white;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">Grid</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"></</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">UserControl</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">></span><o:p></o:p></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Code behind:<o:p></o:p></div>
<div class="MsoNormal">
=========</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The code behind may not be so good. We can restructure and re-factor this code. I made this user control in hurry so pardon me for code quality.</div>
<div class="MsoNormal">
<br /></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 0in 0in 0in; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System.Collections.ObjectModel;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System.ComponentModel;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System.Linq;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System.Windows;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">using</span><span style="font-family: "consolas"; font-size: 10pt;"> System.Windows.Controls;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">namespace</span><span style="font-family: "consolas"; font-size: 10pt;"> UserControls<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="font-family: "consolas"; font-size: 10.0pt;">///</span><span style="color: green; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="font-family: "consolas"; font-size: 10.0pt;"><summary></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="font-family: "consolas"; font-size: 10.0pt;">///</span><span style="color: green; font-family: "consolas"; font-size: 10.0pt;"> Interaction logic for ucDateTimeUpDown.xaml</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="font-family: "consolas"; font-size: 10.0pt;">///</span><span style="color: green; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="font-family: "consolas"; font-size: 10.0pt;"></summary></span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">partial</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">class</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">ucDateTimeUpDown</span><span style="font-family: "consolas"; font-size: 10pt;"> : </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">UserControl</span><span style="font-family: "consolas"; font-size: 10pt;">, </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">INotifyPropertyChanged</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> Private Member variable<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DateTime</span><span style="font-family: "consolas"; font-size: 10pt;"> _currentTime = </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DateTime</span><span style="font-family: "consolas"; font-size: 10pt;">.UtcNow;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">bool</span><span style="font-family: "consolas"; font-size: 10pt;"> _adHours;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">bool</span><span style="font-family: "consolas"; font-size: 10pt;"> _addMinutes;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">ObservableCollection</span><span style="font-family: "consolas"; font-size: 10pt;"><</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;">> _amPmTypes </span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">= </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">new</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">ObservableCollection</span><span style="font-family: "consolas"; font-size: 10pt;"><</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;">>();<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> _displayAmPm;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> Constructors<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> ucDateTimeUpDown()<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> InitializeComponent();<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">this</span><span style="font-family: "consolas"; font-size: 10pt;">.DataContext = </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">this</span><span style="font-family: "consolas"; font-size: 10pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> AmPmTypes.Add(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"AM"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> AmPmTypes.Add(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"PM"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DateTime</span><span style="font-family: "consolas"; font-size: 10pt;">.UtcNow.ToLocalTime();<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = CurrentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> Public Properties<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">ObservableCollection</span><span style="font-family: "consolas"; font-size: 10pt;"><</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;">> AmPmTypes<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"> { </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> _amPmTypes; }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"> { _amPmTypes = </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">; }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> DisplayTime<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"> { </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> _currentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">); }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> DisplayAmPm<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">if</span><span style="font-family: "consolas"; font-size: 10pt;"> (_currentTime.ToLocalTime().Hour >= 0 </span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">&& _currentTime.ToLocalTime().Hour < 12)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> _displayAmPm = AmPmTypes.FirstOrDefault(s => s.Equals(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"AM"</span><span style="font-family: "consolas"; font-size: 10pt;">));<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">else</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">if</span><span style="font-family: "consolas"; font-size: 10pt;"> (_currentTime.ToLocalTime().Hour >= 12)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> _displayAmPm = AmPmTypes.FirstOrDefault(s => s.Equals(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"PM"</span><span style="font-family: "consolas"; font-size: 10pt;">));<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> _displayAmPm;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">if</span><span style="font-family: "consolas"; font-size: 10pt;"> (!</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">.Equals(_displayAmPm))<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">if</span><span style="font-family: "consolas"; font-size: 10pt;"> (</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">.Equals(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"PM"</span><span style="font-family: "consolas"; font-size: 10pt;">))<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.ToLocalTime().AddHours(12);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">else</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.ToLocalTime().AddHours(-12);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> _displayAmPm = </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> DisplayTimeHours<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="font-family: "consolas"; font-size: 10pt;"> hours = _currentTime.ToLocalTime().Hour;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> hours > 12 ? (hours - 12).ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"00"</span><span style="font-family: "consolas"; font-size: 10pt;">) : hours.ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"00"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: green; font-family: "consolas"; font-size: 10.0pt;">//return hours.ToString();</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="font-family: "consolas"; font-size: 10pt;"> hour = 0;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">Int32</span><span style="font-family: "consolas"; font-size: 10pt;">.TryParse(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">, </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">out</span><span style="font-family: "consolas"; font-size: 10pt;"> hour);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.ToLocalTime().AddHours(hour);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTime"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeHours"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeMinutes"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> DisplayTimeMinutes<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"> { </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> _currentTime.ToLocalTime().Minute.ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"00"</span><span style="font-family: "consolas"; font-size: 10pt;">); }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="font-family: "consolas"; font-size: 10pt;"> minutes = 0;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">Int32</span><span style="font-family: "consolas"; font-size: 10pt;">.TryParse(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">, </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">out</span><span style="font-family: "consolas"; font-size: 10pt;"> minutes);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.ToLocalTime().AddMinutes(minutes);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTime"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeHours"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeMinutes"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DateTime</span><span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"> { </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> _currentTime; }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> _currentTime = </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"CurrentTime"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTime"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeHours"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayTimeMinutes"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"DisplayAmPm"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> Dependency Properties<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">static</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">readonly</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DependencyProperty</span><span style="font-family: "consolas"; font-size: 10pt;"> SelectedTimeProperty </span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">= </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DependencyProperty</span><span style="font-family: "consolas"; font-size: 10pt;">.Register(<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"SelectedTime"</span><span style="font-family: "consolas"; font-size: 10pt;">, </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">typeof</span><span style="font-family: "consolas"; font-size: 10pt;"> (</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;">), </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">typeof</span><span style="font-family: "consolas"; font-size: 10pt;"> (</span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">ucDateTimeUpDown</span><span style="font-family: "consolas"; font-size: 10pt;">), </span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">new</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">PropertyMetadata</span><span style="font-family: "consolas"; font-size: 10pt;">(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">default</span><span style="font-family: "consolas"; font-size: 10pt;">(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;">)));<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="font-family: "consolas"; font-size: 10pt;"> { </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">return</span><span style="font-family: "consolas"; font-size: 10pt;"> ((</span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">DateTime</span><span style="font-family: "consolas"; font-size: 10pt;">) GetValue(SelectedTimeProperty))</span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">); }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">set</span><span style="font-family: "consolas"; font-size: 10pt;"> { SetValue(SelectedTimeProperty, </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">value</span><span style="font-family: "consolas"; font-size: 10pt;">); }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> Methods<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">void</span><span style="font-family: "consolas"; font-size: 10pt;"> MinutesUpButton_OnClick(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">object</span><span style="font-family: "consolas"; font-size: 10pt;"> sender, </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">RoutedEventArgs</span><span style="font-family: "consolas"; font-size: 10pt;"> e)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.AddMinutes(1);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = CurrentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">void</span><span style="font-family: "consolas"; font-size: 10pt;"> MinutesDownButton_OnClick(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">object</span><span style="font-family: "consolas"; font-size: 10pt;"> sender, </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">RoutedEventArgs</span><span style="font-family: "consolas"; font-size: 10pt;"> e)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.AddMinutes(-1);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = CurrentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">void</span><span style="font-family: "consolas"; font-size: 10pt;"> HourUpButton_OnClick(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">object</span><span style="font-family: "consolas"; font-size: 10pt;"> sender, </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">RoutedEventArgs</span><span style="font-family: "consolas"; font-size: 10pt;"> e)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.AddHours(1);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = CurrentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">private</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">void</span><span style="font-family: "consolas"; font-size: 10pt;"> HourDownButton_OnClick(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">object</span><span style="font-family: "consolas"; font-size: 10pt;"> sender, </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">RoutedEventArgs</span><span style="font-family: "consolas"; font-size: 10pt;"> e)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> CurrentTime = CurrentTime.AddHours(-1);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> SelectedTime = CurrentTime.ToLocalTime().ToString(</span><span style="color: #a31515; font-family: "consolas"; font-size: 10.0pt;">"t"</span><span style="font-family: "consolas"; font-size: 10pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #region</span><span style="font-family: "consolas"; font-size: 10pt;"> INotifyPropertyChanged Implementation<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">event</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">PropertyChangedEventHandler</span><span style="font-family: "consolas"; font-size: 10pt;"> PropertyChanged;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">public</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">void</span><span style="font-family: "consolas"; font-size: 10pt;"> OnPropertyChanged(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">string</span><span style="font-family: "consolas"; font-size: 10pt;"> propertyName)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">if</span><span style="font-family: "consolas"; font-size: 10pt;"> (</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">null</span><span style="font-family: "consolas"; font-size: 10pt;"> != PropertyChanged)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> PropertyChanged(</span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">this</span><span style="font-family: "consolas"; font-size: 10pt;">, </span><span style="color: blue; font-family: "consolas"; font-size: 10.0pt;">new</span><span style="font-family: "consolas"; font-size: 10pt;"> </span><span style="color: #2b91af; font-family: "consolas"; font-size: 10.0pt;">PropertyChangedEventArgs</span><span style="font-family: "consolas"; font-size: 10pt;">(propertyName));<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: blue; font-family: "consolas"; font-size: 10.0pt;"> #endregion</span><span style="font-family: "consolas"; font-size: 10pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: "consolas"; font-size: 10pt;">}<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
</tr>
</tbody></table>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p>I hope you will find above user control quite useful. You suggestions are welcome. Please send your comments and improvement suggestion.</o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<o:p>Have a good day!</o:p></div>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com2tag:blogger.com,1999:blog-1142905323557775680.post-16539022443060670682015-02-06T10:30:00.001+05:302015-03-04T03:55:09.389+05:30WPF-MVVM: RelayCommand Implementation<div class="WordSection1">
<div class="MsoNormal">
In WPF if we are implementing MVVM pattern then we need to play with Command rather than Events. You can use ICommand interface to create each command class. Implementation of ICommand in a class gives you CanExecute(), Execute() methods which take part in the action performed by Command.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Rather than making Command Class for each Command we can implement a generic Relay Command to get Command. Below is a RelayCommand class that we will implement.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><div class="MsoNormal" style="background: white;">
<span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> To register commands in MMVM pattern</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">class</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">RelayCommands</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> : </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">ICommand</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">readonly</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Action</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">> _execute;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">readonly</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Predicate</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">> _canExecute;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> Constructer takes Execute events to register in CommandManager.</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><param name="execute"></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">Execute method as action.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></param></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> RelayCommands(</span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Action</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">> execute)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> : </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">this</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">(execute, </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">try</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">if</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> (</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> == execute)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">throw</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><b><span style="color: darkblue; font-family: Consolas; font-size: 10.0pt;">NotImplementedException</span></b><span style="color: black; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #a31515; font-family: Consolas; font-size: 10.0pt;">"Not implemented"</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _execute = execute;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">catch</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> (</span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Exception</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">throw</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> Constructer takes Execute and CanExcecute events to register in CommandManager.</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><param name="execute"></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">Execute method as action.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></param></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><param name="canExecute"></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">CanExecute method as return bool type.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></param></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> RelayCommands(</span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Action</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">> execute, </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Predicate</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">> canExecute)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">try</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">if</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> (</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> == execute)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _execute = </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">throw</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><b><span style="color: darkblue; font-family: Consolas; font-size: 10.0pt;">NotImplementedException</span></b><span style="color: black; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #a31515; font-family: Consolas; font-size: 10.0pt;">"Not implemented"</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _execute = execute;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _canExecute = canExecute;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">catch</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> (</span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">Exception</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> Can Executed Changed Event</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">event</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">EventHandler</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> CanExecuteChanged<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">add</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">CommandManager</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">.RequerySuggested += </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">value</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">remove</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">CommandManager</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">.RequerySuggested -= </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">value</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> Execute method.</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><param name="parameter"></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">Method parameter.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></param></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">void</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> Execute(</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> parameter)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _execute(parameter);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> CanExecute method.</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><param name="parameter"></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">Method parameter.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></param></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><returns></span><span style="color: green; font-family: Consolas; font-size: 10.0pt;">Return true if can execute.</span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></returns></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">bool</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> CanExecute(</span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">object</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> parameter)<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">return</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> _canExecute == </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> || _canExecute(parameter);<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"><summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> InvalidateCanExecute method will initiate validation of the Command.</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;">///</span><span style="color: green; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 10.0pt;"></summary></span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">private</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: blue; font-family: Consolas; font-size: 10.0pt;">void</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;"> InvalidateCanExecute()<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> {<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #2b91af; font-family: Consolas; font-size: 10.0pt;">CommandManager</span><span style="color: black; font-family: Consolas; font-size: 10.0pt;">.InvalidateRequerySuggested();<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: black; font-family: Consolas; font-size: 10.0pt;"> }<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
You need to create object of RelayCommand with delegate as paramenters point to CanExecute and Execute methods.<o:p></o:p></div>
<div class="MsoNormal">
Like:<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 467.5pt;" valign="top" width="623"><pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">ICommand</span><span style="color: black; font-family: Consolas;"> _createNewCollegeCommand;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: grey; font-family: Consolas;">///</span><span style="color: green; font-family: Consolas;"> </span><span style="color: grey; font-family: Consolas;"><summary></span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: grey; font-family: Consolas;">///</span><span style="color: green; font-family: Consolas;"> Command to create new College.</span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: grey; font-family: Consolas;">///</span><span style="color: green; font-family: Consolas;"> </span><span style="color: grey; font-family: Consolas;"></summary></span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">public</span><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">ICommand</span><span style="color: black; font-family: Consolas;"> CreateNewCollegeCommand<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">get</span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">if</span><span style="color: black; font-family: Consolas;"> (_createNewCollegeCommand == </span><span style="color: blue; font-family: Consolas;">null</span><span style="color: black; font-family: Consolas;">)<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> _createNewCollegeCommand = </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: Consolas;">new</span><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">RelayCommands</span><span style="color: black; font-family: Consolas;">(param => </span><span style="color: blue; font-family: Consolas;">this</span><span style="color: black; font-family: Consolas;">.CreateNewCollegeCommand_Execute(param),<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> param => </span><span style="color: blue; font-family: Consolas;">this</span><span style="color: black; font-family: Consolas;">.CreateNewCollegeCommand_CanExecute(param));<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">return</span><span style="color: black; font-family: Consolas;"> _createNewCollegeCommand;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">bool</span><span style="color: black; font-family: Consolas;"> CreateNewCollegeCommand_CanExecute(</span><span style="color: blue; font-family: Consolas;">object</span><span style="color: black; font-family: Consolas;"> param)<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">return</span><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">true</span><span style="color: black; font-family: Consolas;">;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> }<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: blue; font-family: Consolas;">void</span><span style="color: black; font-family: Consolas;"> CreateNewCollegeCommand_Execute(</span><span style="color: blue; font-family: Consolas;">object</span><span style="color: black; font-family: Consolas;"> param)<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> {<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">IndividualCollegeViewModel</span><span style="color: black; font-family: Consolas;"> indCollegeVM = </span></pre>
<pre style="background: white;"><span style="color: blue; font-family: Consolas;">this</span><span style="color: black; font-family: Consolas;">._individualCollegeVMFactory();<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: green; font-family: Consolas;">//Set the DataContext</span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> (indCollegeVM.View </span><span style="color: blue; font-family: Consolas;">as</span><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">AddCollege</span><span style="color: black; font-family: Consolas;">).DataContext = indCollegeVM;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> <o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> </span><span style="color: green; font-family: Consolas;">//Show dialog box to add College.</span><span style="color: black; font-family: Consolas;"><o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> (indCollegeVM.View </span><span style="color: blue; font-family: Consolas;">as</span><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">AddCollege</span><span style="color: black; font-family: Consolas;">).Owner = </span><span style="color: blue; font-family: Consolas;">this</span><span style="color: black; font-family: Consolas;">.CurrentView;<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> (indCollegeVM.View </span><span style="color: blue; font-family: Consolas;">as</span><span style="color: black; font-family: Consolas;"> </span><span style="color: #2b91af; font-family: Consolas;">AddCollege</span><span style="color: black; font-family: Consolas;">).ShowDialog();<o:p></o:p></span></pre>
<pre style="background: white;"><span style="color: black; font-family: Consolas;"> }<o:p></o:p></span></pre>
<div class="MsoNormal">
<br /></div>
</td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Hope this will be helpful to you all.<o:p></o:p></div>
</div>
Have a nice day!Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com2tag:blogger.com,1999:blog-1142905323557775680.post-29236168495229803252014-08-22T20:14:00.003+05:302014-08-22T20:14:53.602+05:30SQL Server 2014 - InMemory Tables, Indexes and Stored Procedureshttp://www.sqlservercurry.com/2013/09/sql-server-2014-inmemory-tables-indexes_30.html<br />
<span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Thanks to </span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Pravinkumar Dabade </span><br />
<span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">In this article, we will explore how to create memory optimized Tables, Indexes and Stored Procedures introduced in Microsoft SQL Server 2014.</span><em style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">SQL Server 2014 as of this writing is in CTP1</em><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><em style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"><br /></em><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">To enhance the performance of OLTP, SQL Server 2014 has introduced a number of new features. One of them is In-Memory Tables, Indexes and Stored Procedures. The in-memory tables and indexes are memory optimized structures which allows the rows to be accessed using memory pointers. Simply put, using memory pointers, we can now access the rows more efficiently. </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">When you create indexes on in-memory tables, they do not occupy disk space. The index existence is now in-memory. The in-memory data structures in SQL Server 2014 are lock-free data structures. So when you implement a transaction and two user’s try to modify the same row, the second transaction is always failed.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The in-memory structures does not have separate tools and a query language. This feature is fully integrated into SQL Server and thus you will use the same tools and language [T-SQL] for querying the data.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">For demonstrations in this article, I am using SQL Server 2014 CPT 1 and Windows 8 OS. I have already created a database with the name “PurchaseOrderDB”. Let’s take a look at the following script – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">CREATE TABLE Employees<br />(<br /> EmployeeID INT<br /> NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH(BUCKET_COUNT = 100000),<br /> EmployeeName NVARCHAR(200)<br /> COLLATE Latin1_General_100_BIN2 NOT NULL INDEX [IdxEmpName] HASH WITH (BUCKET_COUNT = 100000),<br /> City NVARCHAR(200)<br /> COLLATE Latin1_General_100_BIN2 NOT NULL INDEX [IdxCity] HASH WITH(BUCKET_COUNT = 100000),<br /> Country NVARCHAR(200) NOT NULL,<br /> Region NVARCHAR(10) NOT NULL<br />) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">In the above CREATE TABLE script, you might have noticed some new keywords. Let’s first understand these new keywords before we proceed – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">1. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">MEMORY_OPTIMIZED = ON</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – by using this keyword, you are creating memory optimized tables. Also note that this keyword can be used only with the CREATE TABLE statement. </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">2. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">DURABILITY = SCHEMA_AND_DATA</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – this option tells that the schema and data are durable/persisted. In case for some reason if the server crashes, you will still get the schema and data back. This is an optional setting and the default value is the same which we are using during our CREATE TABLE statement – SCHEMA_AND_DATA. The other option is Schema only.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">3. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">NONCLUSTERED HASH WITH – HASHED INDEX</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> is a new index which you can use only with in-memory tables. HASH INDEXES are used for point lookups. With HASH INDEX the BUCKET_COUNT is a must which is used for specifying how many buckets you want to have in the HASH table.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">4. Other indexes which are known as secondary indexes excluding primary key index, now can be specified with the CREATE TABLE. As you can see that in the above script, we have indexes specified on EmployeeName and City column.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Note – The HASH INDEX can be specified only with CREATE TABLE.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">When you write the above CREATE TABLE statement, internally SQL Server will generate the code for the table and then compile this code into a DLL. Once the DLL is ready, it will load it into the memory.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">To access the tables and indexes from our PurchaseOrderDB database, we can create natively compiled stored procedures(SP’s). In these SP’s, we can write our business logic and the Data Manipulation Language (DML) statements as per our domain requirements. Let’s take a look at the syntax for creating a natively compiled stored procedure – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><img alt="native-stored-procedure" border="0" height="324" src="http://lh6.ggpht.com/-Up21wu2f2lw/UklT0_OZ0LI/AAAAAAAADcE/dX6rd9CmhPU/native-stored-procedure%25255B3%25255D.png?imgmax=800" style="background-color: #eeeeee; background-image: none; border: 0px currentcolor; color: #444444; display: inline; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px; padding: 0px 0px 5px; text-align: center;" title="native-stored-procedure" width="590" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The create procedure script contains some new keywords. Let’s first understand these new keywords – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">1. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">NATIVE_COMPILATION</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – This keyword is used for making Stored Procedures as native stored procedures.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">2. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">SCHEMABINDING </strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">– This keyword is a must-use-keyword so that the table which is getting accessed inside the SP, should not get dropped accidently. </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">3. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">EXECUTE AS OWNER</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – which context the SP should get executed. That means under which user this stored procedure will run. The possible values are owner, self or a specific user.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">4. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Begin ATOMIC</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – a required block in native stored procedures. The ATOMIC block automatically COMMIT’s or ROLLBACK’s the transaction. If there is already a transaction, then it will create a SAVEPOINT or if there is no transaction, it will start with a new transaction.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">5. </span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The WITH block</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – This block decides the various session settings which will be always be fixed at SP creation time. The two required parameters are TRANSACTION ISOLATION LEVEL and LANGUAGE. You can set multiple options as well.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Now let’s start SQL Server 2014 if you haven’t already and create a database with the name “PurchaseOrderDB”. Once the database is ready, write the following code in your query window – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 1</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Write the USE database command first as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">USE PurchaseOrderDB<br />GO</span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"></span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 2</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Now alter the database using the following commands – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">ALTER DATABASE PurchaseOrderDB ADD FILEGROUP [PODB_fg]<br />CONTAINS MEMORY_OPTIMIZED_DATA</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">GO</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">ALTER DATABASE PurchaseOrderDB ADD FILE<br />( NAME = N'PODB_FG', FILENAME = N'C:\PODBDATA')<br />TO FILEGROUP [PODB_FG]</span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The question is</span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> why did we alter the database as shown above</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">? The reason is when you directly execute the script shown for CREATE TABLE in the beginning of this article, you will receive the following error – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: red; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The Memory_Optimized_DATA filegroup does not exist or is empty. Memory optimized tables cannot be created for database until it has one Memory_Optimized_DATA filegroup that is not empty</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: red; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">The error clearly tells you that the memory optimized table needs separate file group. So we are configuring our database with the new file group and giving the path of a directory which will be used by SQL Server to store the DLLs, which are created for Data Definition Language (DDL) statements as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><img alt="sql-2014-dll" border="0" height="220" src="http://lh5.ggpht.com/-bqqQsU5W1fY/UklT1iMJzWI/AAAAAAAADcM/1dLL-ghExvw/sql-2014-dll%25255B7%25255D.png?imgmax=800" style="background-color: #eeeeee; background-image: none; border: 0px currentcolor; color: #444444; display: inline; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px; padding: 0px 0px 5px; text-align: center;" title="sql-2014-dll" width="590" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 3</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Now let’s write the CREATE TABLE script as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">CREATE TABLE Employees<br />(<br /> EmployeeID INT<br /> NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH(BUCKET_COUNT = 100000),<br /> EmployeeName NVARCHAR(200)<br /> COLLATE Latin1_General_100_BIN2 NOT NULL INDEX [IdxEmpName] HASH WITH (BUCKET_COUNT = 100000),<br /> City NVARCHAR(200)<br /> COLLATE Latin1_General_100_BIN2 NOT NULL INDEX [IdxCity] HASH WITH(BUCKET_COUNT = 100000),<br /> Country NVARCHAR(200) NOT NULL,<br /> Region NVARCHAR(10) NOT NULL<br />) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)</span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">If you observe the code, we have also included collate with Latin1_General_100_Bin2. This is because string columns in a memory optimized columns must use BIN2 collation.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><img alt="sql-server-nonbin" border="0" height="82" src="http://lh4.ggpht.com/-DXuPqtyzYJ4/UklT2aUphTI/AAAAAAAADcU/feEfwWnL6no/sql-server-nonbin%25255B9%25255D.png?imgmax=800" style="background-color: #eeeeee; background-image: none; border: 0px currentcolor; color: #444444; display: inline; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px; padding: 0px 0px 5px; text-align: center;" title="sql-server-nonbin" width="542" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">For more information, please refer the following MSDN link which lists the limitations, restrictions and workaround [if available] – </span><a href="http://msdn.microsoft.com/en-us/library/dn169381(v=sql.15).aspx" rel="nofollow" style="background-color: white; color: #1e608e; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px; text-decoration: none;" target="_blank" title="SQL Collation">http://msdn.microsoft.com/en-us/library/dn169381(v=sql.15).aspx</a><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Once your table is created, you can query the table using our everyday T-SQL statements.</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 4</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Write the following SELECT statement to query Employees table – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">SELECT * FROM Employees</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"></span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 5</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Let’s insert some records into our Employees table by using the following script – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">BEGIN<br /> DECLARE @EmpID INT=1<br /> WHILE(@EmpID<100000)<br /> BEGIN<br /> INSERT INTO Employees VALUES(@EmpID,'DNCEmp','New York','USA','EAST')<br /> SET @EmpID+=1<br /> END<br />END</span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Now execute the query given in Step 4 and you will see the following result – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><img alt="insert-employees" border="0" height="103" src="http://lh4.ggpht.com/-Ft65mUQcsSY/UklT2zmL_ZI/AAAAAAAADcc/nwOWooXKqSg/insert-employees%25255B2%25255D.png?imgmax=800" style="background-color: #eeeeee; background-image: none; border: 0px currentcolor; color: #444444; display: inline; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px; padding: 0px 0px 5px; text-align: center;" title="insert-employees" width="364" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">You can also use order by clause to get all the rows in order as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">SELECT * FROM Employees ORDER BY EmployeeID</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"></span><strong style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Step 6</strong><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> – Write the memory optimized stored procedure as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">CREATE PROCEDURE InsertEmployee<br />(<br /> @EmployeeID INT,<br /> @EmployeeName NVARCHAR(200),<br /> @City NVARCHAR(200),<br /> @Country NVARCHAR(200)<br />) WITH NATIVE_COMPILATION,<br /> SCHEMABINDING,<br /> EXECUTE AS OWNER<br />AS<br />BEGIN ATOMIC<br /> WITH<br /> (<br /> TRANSACTION ISOLATION LEVEL = SNAPSHOT,<br /> LANGUAGE = 'us_english'<br /> )<br /> SET @EmployeeID = 1<br /> WHILE(@EmployeeID<100000)<br /> BEGIN<br /> INSERT INTO dbo.Employees VALUES(@EmployeeID,@EmployeeName,@City,@Country,'EAST')<br /> SET @EmployeeID+=1<br /> END<br />END</span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;"> </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Execute the SP as shown below – </span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;">exec InsertEmployee 1,'DNC','London','UK'</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: Consolas; font-size: x-small; line-height: 18px;"><br /></span><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Now see the result in your table by repeating Step 4</span><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><br style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;" /><span style="background-color: white; color: #444444; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif, Tahoma; font-size: 13px; line-height: 18px;">Abstract – In this article we have seen how to create an in-memory or memory optimized table, indexes and Stored Procedures in SQL Server 2014. To access the rows, we have use T-SQL statements and to perform DML [Insert] operation, we have used Natively Complied Stored Procedure.</span>Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-39081041480863731972014-07-25T18:36:00.000+05:302014-07-25T18:36:05.410+05:30Features Supported by the Editions of SQL Server 2008<div class="WordSection1">
<h1>
Features Supported by the Editions of SQL Server 2008 <o:p></o:p></h1>
Copied from MSDN<o:p></o:p><br />
Use the following tables to determine which features are supported by the different editions of SQL Server 2008.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Scalability</span></span> <o:p></o:p></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partitioning<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data compression<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Resource governor<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partition table parallelism<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">High Availability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Multi-instance support1<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Log shipping<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Database mirroring2<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (full)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (safety full only)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Failover clustering<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Operating system maximum<span class="sup">3</span><o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
2 nodes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Dynamic AWE<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Failover without client configuration<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Automatic corruption recovery from mirror<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Database snapshots<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Fast recovery<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online indexing<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online restore<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Mirrored backups<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Hot add memory<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online configuration of P2P nodes<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Hot add CPU<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Backup compression<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<span class="sup">1</span> SQL Server supports 50 instances on a stand-alone server for all SQL Server editions. SQL Server supports 25 instances on a failover cluster.<o:p></o:p><br />
<span class="sup">2</span>Asynchronous database mirroring is supported only by SQL Server 2005 Enterprise Edition SP1 and later versions.<o:p></o:p><br />
<span class="sup">3</span>Windows Server 2003 supports a maximum of 8 failover cluster nodes. Windows Server 2008 supports a maximum of 16 failover cluster nodes.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Security <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
C2 audit mode<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server auditing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Transparent database encryption<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
ISV encryption (off-box key management)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Replication <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Merge replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only¹<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Transactional replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only¹<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Snapshot replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server change tracking<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Heterogeneous subscribers<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Oracle publishing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
P2P transactional replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
¹If an instance of WorkGroup is used as a Publisher, it supports a maximum of 25 subscriptions to all merge publications, and five subscriptions to all transactional publications. It supports an unlimited number of subscriptions to snapshot publications.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Manageability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
User instances<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Dedicated admin connection<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management automation<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management best practices policies<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Performance data collection and warehouse<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standard performance reports<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Plan guides<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Plan freezing for plan guides<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Distributed partitioned views<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel index operations<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Automatic query-to-indexed-view matching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel database backup checksum check<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Database mail<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Migration Assistant<span class="sup">1</span><o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Maintenance plans<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<span class="sup">1</span>For more information about SQL Server Migration Assistant, see Migrate to SQL Server on the SQL Server web site.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Management Tools <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server management objects (SMO)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Configuration Manager<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL CMD (command prompt tool)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Management Studio<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic version)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic Version)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic version)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Profiler<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Agent<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Database Engine Tuning Advisor<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Microsoft Operations Manager Pack<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<div class="MsoNormal">
<span class="lwcollapsibleareatitle"><u><span style="color: blue;">Development Tools</span></u></span> <span style="font-size: 12.0pt;"><o:p></o:p></span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Microsoft Visual Studio Integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL query and edit and design tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
IntelliSense (Transact-SQL and MDX)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
No<o:p></o:p></div>
<div style="line-height: 106%;">
(SSMS is not installed with this edition)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Version control support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Business Intelligence Development Studio<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
MDX edit, debug, and design tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Programmability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Common language runtime (CLR) integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Native XML support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
XML indexing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
MERGE capabilities<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
FILESTREAM support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Date and Time data types<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Internationalization support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Full-text search<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Specification of language in query<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Service Broker (messaging)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
XML/A support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Web services (HTTP/SOAP endpoints)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Spatial and Location Services <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Spatial indexes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Geodetic data type<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced spatial libraries<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standards-based spatial support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Integration Services <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
SQL Server Standard or Enterprise is required to design and run Integration Services packages. The Integration Services features that are installed by Workgroup, Web, and Express are only for use by the SQL Server Import and Export Wizard.<o:p></o:p><br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Import and Export Wizard, and the basic Integration Services features required by the wizard<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SSIS Designer including VSTA scripting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Integration Services service, wizards, and command prompt utilities<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Basic tasks and transformations in addition to those used by the Import and Export Wizard<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Log providers and logging<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data profiling tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Additional sources and destinations:<o:p></o:p></div>
<div style="line-height: 106%;">
Raw File source<o:p></o:p></div>
<div style="line-height: 106%;">
XML source<o:p></o:p></div>
<div style="line-height: 106%;">
DataReader destination<o:p></o:p></div>
<div style="line-height: 106%;">
Raw File destination<o:p></o:p></div>
<div style="line-height: 106%;">
Recordset destination<o:p></o:p></div>
<div style="line-height: 106%;">
SQL Server Compact destination<o:p></o:p></div>
<div style="line-height: 106%;">
SQL Server destination<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced sources, transformations, and destinations:<o:p></o:p></div>
<div style="line-height: 106%;">
Data Mining Query transformation<o:p></o:p></div>
<div style="line-height: 106%;">
Fuzzy Lookup and Fuzzy Grouping transformations<o:p></o:p></div>
<div style="line-height: 106%;">
Term Extraction and Term Lookup transformations<o:p></o:p></div>
<div style="line-height: 106%;">
Data Mining Model Training destination<o:p></o:p></div>
<div style="line-height: 106%;">
Dimension Processing destination<o:p></o:p></div>
<div style="line-height: 106%;">
Partition Processing destination<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Warehouse Creation <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Create cubes without a database<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Auto-generate staging and data warehouse schema<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Attribute relationship designer<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Efficient aggregation designers<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Warehouse Scale and Performance <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Change data capture<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Star join query optimization<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Scalable read-only AS configuration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Proactive caching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Auto parallel partition processing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partitioned cubes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Distributed partitioned cubes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Multi-Dimensional Analytics <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
SQL Server Analysis Services service<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
SQL Server Analysis Services backup<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
General performance/scale improvements<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Dimension, attribute relationship, aggregate, and cube design improvements<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Personalization extensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Financial aggregations<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Custom rollups<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Semi-additive measures<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Writeback dimensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Linked measures and dimensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Binary and compressed XML transport<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Account intelligence<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Perspectives<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Analysis Services shared, scalable databases<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Mining <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standard algorithms<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data mining tools: wizards, editors, query builders<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Cross validation<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Models on filtered subsets of mining structure data<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: custom blending between ARTXP and ARIMA models<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: prediction with new data<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Unlimited concurrent data mining queries<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced configuration and tuning for algorithms<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Algorithm plug-in API<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel model processing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: cross-series prediction<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Unlimited attributes for association rules<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Sequence prediction<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Multiple prediction targets for naïve Bayes, neural network, and logistic regression<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Reporting <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report server<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report Designer<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report Manager<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Report Manager)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Report Manager)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Role-based security<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Ad-hoc reporting (Report builder)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Word export and enhanced text formatting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Enterprise-scale reporting engine<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
IIS-agnostic report deployment<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Updated management tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report definition customization extension (RDCE)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SharePoint integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Enhanced SSRS gauges and charting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Custom authentication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Export to Excel, PDF, and images<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Remote and non-relational data source support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
E-mail and file share delivery<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report history, scheduling, subscriptions, and caching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data source, delivery, and rendering extensibility<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Scale out (Web farms)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Infinite clickthrough<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data-driven subscriptions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Reporting Services memory limits<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
OS Maximum<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
OS Maximum<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<h1>
Features Supported by the Editions of SQL Server 2008<o:p></o:p></h1>
Use the following tables to determine which features are supported by the different editions of SQL Server 2008.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Scalability</span></span> <o:p></o:p></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partitioning<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data compression<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Resource governor<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partition table parallelism<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">High Availability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Multi-instance support1<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Log shipping<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Database mirroring2<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (full)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (safety full only)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Witness only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Failover clustering<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Operating system maximum<span class="sup">3</span><o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
2 nodes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Dynamic AWE<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Failover without client configuration<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Automatic corruption recovery from mirror<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Database snapshots<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Fast recovery<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online indexing<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online restore<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Mirrored backups<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Hot add memory<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Online configuration of P2P nodes<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Hot add CPU<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Backup compression<o:p></o:p></b></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<span class="sup">1</span> SQL Server supports 50 instances on a stand-alone server for all SQL Server editions. SQL Server supports 25 instances on a failover cluster.<o:p></o:p><br />
<span class="sup">2</span>Asynchronous database mirroring is supported only by SQL Server 2005 Enterprise Edition SP1 and later versions.<o:p></o:p><br />
<span class="sup">3</span>Windows Server 2003 supports a maximum of 8 failover cluster nodes. Windows Server 2008 supports a maximum of 16 failover cluster nodes.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Security <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
C2 audit mode<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server auditing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Transparent database encryption<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
ISV encryption (off-box key management)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Replication <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Merge replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only¹<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Transactional replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only¹<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Snapshot replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Subscriber only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server change tracking<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Heterogeneous subscribers<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Oracle publishing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
P2P transactional replication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
¹If an instance of WorkGroup is used as a Publisher, it supports a maximum of 25 subscriptions to all merge publications, and five subscriptions to all transactional publications. It supports an unlimited number of subscriptions to snapshot publications.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Manageability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
User instances<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Dedicated admin connection<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Under trace flag)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management automation<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Policy-Based Management best practices policies<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Performance data collection and warehouse<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standard performance reports<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Plan guides<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Plan freezing for plan guides<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Distributed partitioned views<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partial. Distributed Partitioned Views are not updatable <o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel index operations<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Automatic query-to-indexed-view matching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel database backup checksum check<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Database mail<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Migration Assistant<span class="sup">1</span><o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Maintenance plans<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<span class="sup">1</span>For more information about SQL Server Migration Assistant, see Migrate to SQL Server on the SQL Server web site.<o:p></o:p><br />
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Management Tools <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server management objects (SMO)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Configuration Manager<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL CMD (command prompt tool)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Management Studio<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic version)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic Version)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Basic version)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Profiler<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Agent<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Database Engine Tuning Advisor<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Microsoft Operations Manager Pack<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<div class="MsoNormal">
<span class="lwcollapsibleareatitle"><u><span style="color: blue;">Development Tools</span></u></span> <span style="font-size: 12.0pt;"><o:p></o:p></span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Microsoft Visual Studio Integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL query and edit and design tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
IntelliSense (Transact-SQL and MDX)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
No<o:p></o:p></div>
<div style="line-height: 106%;">
(SSMS is not installed with this edition)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Version control support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Business Intelligence Development Studio<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
MDX edit, debug, and design tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Programmability <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Common language runtime (CLR) integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Native XML support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
XML indexing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
MERGE capabilities<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
FILESTREAM support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Date and Time data types<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Internationalization support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Full-text search<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Specification of language in query<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Service Broker (messaging)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Client only<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
XML/A support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Web services (HTTP/SOAP endpoints)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Spatial and Location Services <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Spatial indexes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Geodetic data type<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced spatial libraries<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standards-based spatial support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Integration Services <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
SQL Server Standard or Enterprise is required to design and run Integration Services packages. The Integration Services features that are installed by Workgroup, Web, and Express are only for use by the SQL Server Import and Export Wizard.<o:p></o:p><br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SQL Server Import and Export Wizard, and the basic Integration Services features required by the wizard<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SSIS Designer including VSTA scripting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Integration Services service, wizards, and command prompt utilities<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Basic tasks and transformations in addition to those used by the Import and Export Wizard<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Log providers and logging<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data profiling tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Additional sources and destinations:<o:p></o:p></div>
<div style="line-height: 106%;">
Raw File source<o:p></o:p></div>
<div style="line-height: 106%;">
XML source<o:p></o:p></div>
<div style="line-height: 106%;">
DataReader destination<o:p></o:p></div>
<div style="line-height: 106%;">
Raw File destination<o:p></o:p></div>
<div style="line-height: 106%;">
Recordset destination<o:p></o:p></div>
<div style="line-height: 106%;">
SQL Server Compact destination<o:p></o:p></div>
<div style="line-height: 106%;">
SQL Server destination<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced sources, transformations, and destinations:<o:p></o:p></div>
<div style="line-height: 106%;">
Data Mining Query transformation<o:p></o:p></div>
<div style="line-height: 106%;">
Fuzzy Lookup and Fuzzy Grouping transformations<o:p></o:p></div>
<div style="line-height: 106%;">
Term Extraction and Term Lookup transformations<o:p></o:p></div>
<div style="line-height: 106%;">
Data Mining Model Training destination<o:p></o:p></div>
<div style="line-height: 106%;">
Dimension Processing destination<o:p></o:p></div>
<div style="line-height: 106%;">
Partition Processing destination<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Warehouse Creation <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Create cubes without a database<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Auto-generate staging and data warehouse schema<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Attribute relationship designer<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Efficient aggregation designers<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Warehouse Scale and Performance <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Change data capture<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Star join query optimization<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Scalable read-only AS configuration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Proactive caching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Auto parallel partition processing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Partitioned cubes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Distributed partitioned cubes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Multi-Dimensional Analytics <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
SQL Server Analysis Services service<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
SQL Server Analysis Services backup<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
General performance/scale improvements<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Dimension, attribute relationship, aggregate, and cube design improvements<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Personalization extensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Financial aggregations<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Custom rollups<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Semi-additive measures<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Writeback dimensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Linked measures and dimensions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Binary and compressed XML transport<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Account intelligence<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Perspectives<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt; width: 110.85pt;" width="148"><div style="line-height: 106%;">
Analysis Services shared, scalable databases<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.2pt;" width="76"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 50.55pt;" width="67"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 63.2pt;" width="84"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 26.5pt;" width="35"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: .6in;" width="58"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 45.45pt;" width="61"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt; width: 57.05pt;" width="76"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Data Mining <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Standard algorithms<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data mining tools: wizards, editors, query builders<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Cross validation<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Models on filtered subsets of mining structure data<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: custom blending between ARTXP and ARIMA models<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: prediction with new data<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Unlimited concurrent data mining queries<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Advanced configuration and tuning for algorithms<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Algorithm plug-in API<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Parallel model processing<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Time series: cross-series prediction<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Unlimited attributes for association rules<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Sequence prediction<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Multiple prediction targets for naïve Bayes, neural network, and logistic regression<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
</tbody> </table>
<h1>
<span class="lwcollapsibleareatitle"><span style="font-family: "Arial","sans-serif";">Reporting <o:p></o:p></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<hr align="center" size="2" width="100%" />
</div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none;"> <tbody>
<tr> <td style="border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Feature Name<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Enterprise<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Standard<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Workgroup<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Web<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Tools<o:p></o:p></b></div>
</td> <td style="border-left: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div align="center" style="line-height: 106%; text-align: center;">
<b>Express Advanced<o:p></o:p></b></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report server<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report Designer<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report Manager<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Report Manager)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Report Manager)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Role-based security<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes (Fixed roles)<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Ad-hoc reporting (Report builder)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Word export and enhanced text formatting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Enterprise-scale reporting engine<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
IIS-agnostic report deployment<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Updated management tools<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report definition customization extension (RDCE)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
SharePoint integration<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Enhanced SSRS gauges and charting<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Custom authentication<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Export to Excel, PDF, and images<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Remote and non-relational data source support<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
E-mail and file share delivery<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Report history, scheduling, subscriptions, and caching<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data source, delivery, and rendering extensibility<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Scale out (Web farms)<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Infinite clickthrough<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Data-driven subscriptions<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Yes<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> </tr>
<tr> <td style="border-top: none; border: solid windowtext 1.0pt; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
Reporting Services memory limits<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
OS Maximum<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
OS Maximum<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"></td> <td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: .75pt .75pt .75pt .75pt;"><div style="line-height: 106%;">
4 GB<o:p></o:p></div>
</td> </tr>
</tbody> </table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails. Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-82606422737114645872014-07-25T18:35:00.001+05:302016-11-04T22:28:45.202+05:30Permission in SQL Server Reporting Services (SSRS)<div class="WordSection1">
<div class="MsoNormal">
One of the frequently asked question in many forums is “I am an admin on the machine (Windows Vista or Windows 7 or Windows 2k8) where SSRS is installed but I am not able to access the reports”. <o:p></o:p></div>
<div class="MsoNormal">
Recently I faced a similar issue. I am an admin on the machine which has Windows 2008 R2 installed. On top of it, I installed SSRS 2008 R2 and then configured the RS with proper values. <o:p></o:p></div>
<div class="MsoNormal">
Then when I tried to access the report manager by navigating to the URL, I got an error message like:<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<strong><span style="font-family: "calibri" , "sans-serif";">User ‘Domain\User’ does not have required permissions. Verify that sufficient permissions have been granted and Windows User Account Control (UAC) restrictions have been addressed.<o:p></o:p></span></strong></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I once again checked my configuration but everything looked fine. <o:p></o:p></div>
<div class="MsoNormal">
Since the error message gave some hint on UAC, I ran the browser as admin and navigated to the report manager. <o:p></o:p></div>
<div class="MsoNormal">
Now it did not throw any error message. I was able to see the home page and all other menu including the Site Settings.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
Closed the browser and opened it again in normal mode. Still it was throwing same error. <o:p></o:p></div>
<div class="MsoNormal">
Opened the browser again in Admin mode. <o:p></o:p></div>
<div class="MsoNormal">
Navigated to the home folder and added myself and assigned to all the roles. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
After this when I ran the browser in normal mode, I was able to access all report manager and all the folders. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The issue is that by default UAC allows the users (even the administrators) to do the tasks with the privilege of normal user, i.e., say when you open the browser or an application, it is opened with the normal user’s privilege and not that of administrator’s privilege. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
What I understood is that when I opened the browser in normal mode, UAC passed standard user’s privilege to SSRS and hence SSRS was not able to identify that I am an admin. <o:p></o:p></div>
<div class="MsoNormal">
To get the admin access either I have to run the browser in admin mode or add myself explicitly to SSRS System Admin roles. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
So you have two options to tackle this issue <o:p></o:p></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo2; text-indent: -.25in;">
<![if !supportLists]><span style="font-family: "symbol";"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span><![endif]>Fix it at your SSRS end as outlined above (or)<o:p></o:p></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo2; text-indent: -.25in;">
<![if !supportLists]><span style="font-family: "symbol";"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span><![endif]>Manage your UAC appropriately. Have a look at the below one to know more about UAC and how to manage it.<o:p></o:p></div>
<div class="MsoListParagraph">
<br /></div>
<div class="MsoNormal">
<a href="http://technet.microsoft.com/en-us/library/cc709691(WS.10).aspx">http://technet.microsoft.com/en-us/library/cc709691(WS.10).aspx</a><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I went for the first option as UAC is mandatory in my ORG and also it helps you to secure your machine.</div>
</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0tag:blogger.com,1999:blog-1142905323557775680.post-89882675670107956922014-02-10T21:20:00.000+05:302014-02-10T21:39:23.305+05:30How to List All Installed Applications From the Command LineIf you need to list down all programs installed on your machine then it is very simple.<br />
You have to run below command and you are done:<br />
<br />
<div class="codesnip-container" style="background-color: #f0f0f0; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: 'Courier New', Courier, monospace; font-size: 12px; line-height: 19.200000762939453px; margin: 0px; overflow-x: auto; overflow-y: hidden; padding: 3px 10px; vertical-align: baseline; width: 565px;">
wmic product get /format:csv > Software_%Computername%.csv</div>
<div>
<br /></div>
<div>
This command will put list of installed software into a csv file. Below image will clear it more for you:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://3.bp.blogspot.com/-WfRIawLiOAM/Uvj00xnB-7I/AAAAAAAAOZI/F9bs4GVrNPE/s1600/ListOfInstalledSoftware.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-WfRIawLiOAM/Uvj00xnB-7I/AAAAAAAAOZI/F9bs4GVrNPE/s1600/ListOfInstalledSoftware.png" height="152" width="640" /></a></div>
<div>
<br /></div>
<div>
As shown above, you can export the list of installed software into any kind of file. Txt, Doc, CSV and so on.</div>
<div>
<br />
Another way to do this is through WMI api.<br />
You need to open cmd.exe in administrator mode and then run following commands:<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://4.bp.blogspot.com/--Lmp0RiFVTA/Uvj5mreg3DI/AAAAAAAAOZY/E9vPFLkr_HU/s1600/InstalledSoftwareWMIC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/--Lmp0RiFVTA/Uvj5mreg3DI/AAAAAAAAOZY/E9vPFLkr_HU/s1600/InstalledSoftwareWMIC.png" height="156" width="640" /></a></div>
<br /></div>
<div>
Hope this will help you.</div>
Siddharth Mishrahttp://www.blogger.com/profile/05497658029590066778noreply@blogger.com0