<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7790893274228152032</id><updated>2017-12-01T22:21:08.286-08:00</updated><category term="SQL Server"/><category term="SSAS"/><category term="T-SQL"/><category term="Chrome"/><category term="Data Modeling"/><category term="Microsoft Office"/><category term="SSIS"/><category term="Visio"/><category term="Web Development"/><category term="Windows"/><title type='text'>Harlan&#39;s Business Intelligence Blog</title><subtitle type='html'>&lt;b&gt;Harlan Smith&lt;/b&gt;&lt;br&gt;Business Intelligence and Data Warehouse Consultant&lt;br&gt;Seattle, WA, USA</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.harlansmith.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default?start-index=26&amp;max-results=25'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-2319461007087399179</id><published>2013-09-11T09:39:00.005-07:00</published><updated>2013-09-11T09:39:58.232-07:00</updated><title type='text'>You cannot specify alternate security options in Tabular mode</title><content type='html'>I tried restoring a SQL Server Analysis Services (SSAS) tabular model using the SkipMembership security option (overwrite new roles, but don&#39;t overwrite role members) and got the following error:&lt;br /&gt;&lt;br /&gt;You cannot specify alternate security options in Tabular mode. (Microsoft.AnalysisServices)&lt;br /&gt;&lt;br /&gt;I had not heard that this was a limitation and was not able to find anything in Microsoft&#39;s TechNet Library &lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms186658.aspx#restoring_databases&quot; target=&quot;_blank&quot;&gt;documentation&lt;/a&gt; to suggest that alternate security options are not supported.&lt;br /&gt;&lt;br /&gt;I have a project where I need to publish a tabular model backup file to a reporting server that lives on a different domain than my processing server, with completely different security settings. I&#39;ve ruled out synchronization because I basically only have one-way communication, and the destination (reporting) server actually pulls from the source (processing) cube server during a synchronization and uses Windows authentication, which won&#39;t work for me due to the different domains and firewall settings.&lt;br /&gt;&lt;br /&gt;So basically my only option is to do a backup, copy, and restore to publish my cube to the reporting server. Here&#39;s what I ended up doing for now. Not sure I like it, but it works for what we need.&lt;br /&gt;&lt;br /&gt;1. Backup cube on processing server.&lt;br /&gt;2. Copy .abf backup file to reporting server&lt;br /&gt;3. Restore .abf backup file (with invalid security and all)&lt;br /&gt;4. Run an XMLA command on the reporting server to update SSAS role membership&lt;br /&gt;&lt;br /&gt;Let me know if you have any better ideas in the comments!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/2319461007087399179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/09/you-cannot-specify-alternate-security.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/2319461007087399179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/2319461007087399179'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/09/you-cannot-specify-alternate-security.html' title='You cannot specify alternate security options in Tabular mode'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-8442343462026969021</id><published>2013-06-03T15:30:00.000-07:00</published><updated>2013-06-03T15:39:26.592-07:00</updated><title type='text'>SQL Server 2014 Announced</title><content type='html'>It&#39;s official - Microsoft announced &lt;a href=&quot;http://www.microsoft.com/en-us/sqlserver/sql-server-2014.aspx&quot; target=&quot;_blank&quot;&gt;SQL Server 2014&lt;/a&gt; at TechEd today. According to the company&#39;s &lt;a href=&quot;http://download.microsoft.com/download/D/7/D/D7D64E12-C8E5-4A8C-A104-C945C188FA99/SQL_Server_2014_Datasheet.pdf&quot; target=&quot;_blank&quot;&gt;data sheet&lt;/a&gt;, here are the key BI features to look out for:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Project Codename &quot;Data Explorer&quot;&lt;/li&gt;&lt;li&gt;Windows Azure Marketplace&lt;/li&gt;&lt;li&gt;Windows Azure HDInsight Service &amp;amp; Microsoft HDInsight Server (preview)&lt;/li&gt;&lt;li&gt;Parallel Data Warehouse with Polybase&lt;/li&gt;&lt;li&gt;Excel in Office - PowerPivot &amp;amp; Power View&lt;/li&gt;&lt;li&gt;Project Codename &quot;GeoFlow&quot; in Excel&lt;/li&gt;&lt;li&gt;Data Mining Add-ins for Excel&lt;/li&gt;&lt;li&gt;StreamInsight&lt;/li&gt;&lt;li&gt;Data Quality Services&lt;/li&gt;&lt;li&gt;Master Data Services&lt;/li&gt;&lt;li&gt;Analysis Services&lt;/li&gt;&lt;li&gt;BI Semantic Model&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Project Codename &quot;Data Explorer&quot; and &quot;GeoFlow&quot; will now officially be part of the SQL Server product offering, and there will likely be at least incremental enhancements or improvements to all of the other features mentioned.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For OLTP systems, the new in-memory OLTP (I assume this is Project Codename &quot;Hekaton&quot;, which was discussed last year at PASS Summit) offers up to 10x performance gains over disk-based storage, according to Microsoft, and appears to support some interesting hybrid scenarios where some database objects can be in-memory and others on disk in the same database. Very cool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Microsoft is also focusing more heavily on hybrid cloud scenarios with Windows Azure and how customers can take advantage of cloud storage for disaster recovery, backups, BI reports, etc. while keeping primary application databases on-premises.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At first glance, I&#39;m glad to see that GeoFlow and DataExplorer are officially coming into the fold. It has been a lot of fun playing with these so far, so I&#39;m excited to see these at work in real-life scenarios with some of my clients.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Polybase looks very cool for companies who are running PDW or plan to make the switch. It&#39;s incredibly powerful to be able to expose data in a Hadoop cluster to us lowly SQL analysts and developers so we can run SELECTs and JOINs and GROUP BYs without needing to care how or where the data is actually stored.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Update: Here is a &lt;a href=&quot;http://www.zdnet.com/microsofts-blue-servers-whats-coming-when-7000016224/&quot; target=&quot;_blank&quot;&gt;thorough write-up&lt;/a&gt; on today&#39;s TechEd announcements from Mary Jo Foley at ZDNet.&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/8442343462026969021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/06/sql-server-2014-announced.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/8442343462026969021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/8442343462026969021'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/06/sql-server-2014-announced.html' title='SQL Server 2014 Announced'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-4757151282609070781</id><published>2013-04-18T14:50:00.005-07:00</published><updated>2013-04-18T16:12:27.548-07:00</updated><title type='text'>Why I Still Use VirtualBox Over Hyper-V Manager in Windows 8</title><content type='html'>I love that Hyper-V is built in to Windows 8. But I have some odd use cases, which still make Oracle&#39;s Virtual Box my go-to for launching virtual machines.&lt;br /&gt;&lt;br /&gt;I am both a Mac and a PC user, so I need to share large files between the two, which requires formatting my external hard drive as exFAT. (ExFAT was developed by Microsoft to address incompatibility between Mac and Windows file systems - NTFS, the default Windows file system, is read-only on Mac; HFS+, the default file system for Mac OS can&#39;t even be read by Windows; and FAT32, Windows&#39; predecessor to NTFS, had a file size limitation of 4GB.)&lt;br /&gt;&lt;br /&gt;The only problem is that &lt;a href=&quot;http://technet.microsoft.com/en-us/library/dd440865(WS.10).aspx#BKMK_rest&quot; target=&quot;_blank&quot;&gt;Hyper-V currently only supports mounting VHDs stored on NTFS drives&lt;/a&gt;. This means I can&#39;t mount any of the VHDs on my exFAT drive. So either I still have to carry around 2 drives and copy VHD files back and forth to sync them, or I can just continue to use VirtualBox. So, as much as I&#39;d like to switch over and start using the wonderful features of Hyper-V, I&#39;ll have to wait until Microsoft supports exFAT, or someone invents a new file system.&lt;br /&gt;&lt;br /&gt;As a side note, if you do use Hyper-V Manager to create virtual hard drives that you&#39;d like to share with non-Hyper-V VM clients, be sure to set the virtual hard disk format to VHD. The default for Hyper-V, VHDX, will only work with Hyper-V, so you won&#39;t be able to mount the VHD on your Mac, VirtualBox, VMWare, etc.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/4757151282609070781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/04/why-i-still-use-virtualbox-over-hyper-v.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4757151282609070781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4757151282609070781'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/04/why-i-still-use-virtualbox-over-hyper-v.html' title='Why I Still Use VirtualBox Over Hyper-V Manager in Windows 8'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-4991124561954011547</id><published>2013-03-31T22:50:00.003-07:00</published><updated>2013-04-04T10:22:52.693-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Modeling"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Office"/><category scheme="http://www.blogger.com/atom/ns#" term="Visio"/><title type='text'>Visio 2013 Fail - Microsoft Removes Key Database Modeling Features</title><content type='html'>I complain enough as it is in my personal life, so I try to keep things pretty positive here. But Microsoft really screwed up this time. They &lt;a href=&quot;http://blogs.office.com/b/visio/archive/2012/10/17/uml-and-database-diagrams-in-the-new-visio.aspx&quot; target=&quot;_blank&quot;&gt;removed all of the core database modeling features&lt;/a&gt; in Visio 2013.&lt;br /&gt;&lt;br /&gt;Alberto Ferrari says it best in the comments:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;C&#39;mon guys, I wonder if you ever *really* listen to your customers.&lt;/blockquote&gt;&lt;br /&gt;Here&#39;s why this is a problem. Serious BI practitioners have used Visio for years to design and manage their data models. I&#39;m a BI consultant and I have used Visio on an almost daily basis for as long as I&#39;ve been working with data. One of the first things I do on a new client project is open up Visio, configure the drivers to connect to the client&#39;s database, and reverse-engineer the entire schema. As I meet with business and technology stakeholders, I use Visio to capture requirements as logical data models. I can manage attributes, change their data types, and even change drivers to change all of my data types from, say, SQL Server to Oracle.&lt;br /&gt;&lt;br /&gt;But no more. Not with Visio 2013. Here&#39;s the rundown.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No ability to generate a diagram from existing code or a database definition (no reverse-engineer)&lt;/li&gt;&lt;li&gt;No ability to go from diagram to code or database (no forward-engineer)&lt;/li&gt;&lt;li&gt;No database drivers or data types&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;According to Microsoft, with Visio 2013 they &quot;place a strong emphasis on diagramming and sharing instead of rigorous modeling.&quot; In my opinion, they took that too far. &quot;Rigorous modeling&quot; - you mean like defining data types? That doesn&#39;t seem all that &quot;rigorous&quot; to me. I was mad enough when Microsoft removed forward-engineer - not to mention alarmed at the potential implications, which have now gone from potential to quite real.&lt;br /&gt;&lt;br /&gt;What this means, effectively, is that data professionals who upgrade to Office 2013 lose the ability to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Design or manage a physical schema&lt;/li&gt;&lt;li&gt;Document existing data structures in any sort of automated way&lt;/li&gt;&lt;li&gt;Manage data types&lt;/li&gt;&lt;li&gt;Create indexes&lt;/li&gt;&lt;li&gt;Create database constraints&lt;/li&gt;&lt;li&gt;Create primary key/foreign key constraints&lt;/li&gt;&lt;li&gt;Manage drivers or custom data types&lt;/li&gt;&lt;li&gt;Do anything worthwhile with data models whatsoever, except make slightly prettier pictures of tables and column names... by hand&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I know I&#39;m a little late to the party in finding out about this - I only switched over to Windows 8 and Office 2013 on my primary laptop a few weeks ago, but I&#39;m actually not sure what I&#39;m going to do about it. ERwin and Embarcadero aren&#39;t cheap and there&#39;s a bit of a learning curve with both of them. Going from Visio to CA or Embarcadero for data modeling is about the same as going from MSPaint to Photoshop - great for seasoned pros, but too specialized and too expensive for a lot of us. With Visio, I could always count on clients and colleagues being able to collaborate and review files with me. If they have to cough up a couple grand per license plus yearly maintenance fees, it greatly diminishes the utility of the tool for me.&lt;br /&gt;&lt;br /&gt;You screwed up, Microsoft. Please, come to your senses and bring this feature back. People use it. A lot.&lt;br /&gt;&lt;br /&gt;P.S. If you use Visio 2010 and miss the forward engineer feature, I recommend you check this out: &lt;a href=&quot;http://forwardengineer.codeplex.com/&quot; target=&quot;_blank&quot;&gt;http://forwardengineer.codeplex.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/4991124561954011547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/03/visio-2013-fail-microsoft-removes-key.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4991124561954011547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4991124561954011547'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/03/visio-2013-fail-microsoft-removes-key.html' title='Visio 2013 Fail - Microsoft Removes Key Database Modeling Features'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-3115222535450537233</id><published>2013-03-20T22:15:00.000-07:00</published><updated>2013-03-20T22:15:39.244-07:00</updated><title type='text'>Sound Data Advice From a Fortune Cookie</title><content type='html'>&lt;p dir=ltr&gt;Put the data you have uncovered to beneficial use.&lt;/p&gt;&lt;p dir=ltr&gt;Pretty good advice, if you ask me...&lt;/p&gt;&lt;div class=&#39;separator&#39; style=&#39;clear: both; text-align: center;&#39;&gt;&lt;a href=&#39;http://lh4.ggpht.com/-aWE2Lb6gpeg/UUoUFgU_m2I/AAAAAAAAE6E/cTfMBSNPvt8/s1600/IMG_20130320_124831.jpg&#39; imageanchor=&#39;1&#39; style=&#39;margin-left: 1em; margin-right: 1em;&#39;&gt; &lt;img border=&#39;0&#39; src=&#39;http://lh4.ggpht.com/-aWE2Lb6gpeg/UUoUFgU_m2I/AAAAAAAAE6E/cTfMBSNPvt8/s640/IMG_20130320_124831.jpg&#39; /&gt; &lt;/a&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/3115222535450537233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/03/sound-data-advice-from-fortune-cookie.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3115222535450537233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3115222535450537233'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/03/sound-data-advice-from-fortune-cookie.html' title='Sound Data Advice From a Fortune Cookie'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-aWE2Lb6gpeg/UUoUFgU_m2I/AAAAAAAAE6E/cTfMBSNPvt8/s72-c/IMG_20130320_124831.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-3779809361869256568</id><published>2013-03-19T23:16:00.000-07:00</published><updated>2013-04-04T10:23:12.030-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Development"/><title type='text'>Chrome Console Error</title><content type='html'>I came across an error while testing a website tonight using the &lt;a href=&quot;https://developers.google.com/chrome-developer-tools/docs/console&quot; target=&quot;_blank&quot;&gt;Google Chrome JavaScript Console&lt;/a&gt;. (Using Chrome? Hit &lt;b&gt;Control - Shift - I&lt;/b&gt; for Windows or &lt;b&gt;Command - Option - I&lt;/b&gt; for Mac to see the &lt;a href=&quot;https://developers.google.com/chrome-developer-tools/&quot; target=&quot;_blank&quot;&gt;Chrome Developer Tools&lt;/a&gt;!)&lt;br /&gt;&lt;br /&gt;Every time I loaded the page in Chrome, I got this error. Not in other browsers, only in Chrome. Here&#39;s the error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Port error: Could not establish connection. Receiving end does not exist.&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;I thought there was something wrong with the site, but after scratching my head and tinkering around a bit I couldn&#39;t track down the cause. Luckily, someone else beat me to it and thanks to a quick web search (see the helpful links below), I disabled the Chrome to Phone extension and &lt;i&gt;Voilà!&lt;/i&gt; the error message disappeared. I guess now it&#39;s back to debugging my &lt;i&gt;own&lt;/i&gt; error messages...&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/easyxdm/gVigio5TYiw&quot; target=&quot;_blank&quot;&gt;https://groups.google.com/forum/?fromgroups=#!topic/easyxdm/gVigio5TYiw&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://code.google.com/p/chrometophone/issues/detail?id=316&quot; target=&quot;_blank&quot;&gt;https://code.google.com/p/chrometophone/issues/detail?id=316&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://code.google.com/p/chrometophone/issues/detail?id=451&quot; target=&quot;_blank&quot;&gt;https://code.google.com/p/chrometophone/issues/detail?id=451&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/3779809361869256568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/03/chrome-console-error.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3779809361869256568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3779809361869256568'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/03/chrome-console-error.html' title='Chrome Console Error'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-6827761592836717043</id><published>2013-02-17T17:32:00.000-08:00</published><updated>2013-04-04T10:23:35.730-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="T-SQL"/><title type='text'>T-SQL Tips: PARSE() and TRY_PARSE()</title><content type='html'>&lt;b&gt;Database Application Localization&lt;/b&gt;&lt;br /&gt;Certain types of data might be formatted differently in different parts of the world, and our database applications need to be smart enough to handle these localized data formats. Allowing application users to interact with familiar data formats while maintaining consistency in the database can represent a challenge for data architects, and there are many approaches that can be employed to achieve the desired results. Two new options in SQL Server 2012 are &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/hh213316.aspx&quot; target=&quot;_blank&quot;&gt;PARSE (Transact-SQL)&lt;/a&gt; and &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/292bac1d-edd8-468c-8ff1-8c7de625bc55&quot; target=&quot;_blank&quot;&gt;TRY_PARSE (Transact-SQL)&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;PARSE()&lt;/b&gt;&lt;br /&gt;PARSE() takes a string value as an input and converts that string (e.g. &#39;Sunday, 17 February 2013&#39;) to the desired data type (e.g. DateTime2), using the provided culture (e.g. &#39;en-US&#39;).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Syntax:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;PARSE ( string_value AS data_type [ USING culture ] )&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Example:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;SELECT PARSE(&#39;Sunday, 17 February 2013&#39; AS datetime2 USING &#39;en-US&#39;) AS MyParsedDate;&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Result:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;MyParsedDate&lt;br /&gt;---------------&lt;br /&gt;2013-02-17 00:00:00.0000000&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;TRY_PARSE()&lt;/b&gt;&lt;br /&gt;TRY_PARSE() has similar syntax to PARSE() and will return the same results, or null if the cast fails.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Syntax:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;TRY_PARSE ( string_value AS data_type [ USING culture ] )&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Example 1:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;SELECT PARSE(&#39;Sunday, 17 February 2013&#39; AS datetime2 USING &#39;en-US&#39;) AS MyParsedDate;&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Result:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;MyParsedDate&lt;br /&gt;---------------&lt;br /&gt;2013-02-17 00:00:00.0000000&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Example 2:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;SELECT PARSE(&#39;not a date&#39; AS datetime2 USING &#39;en-US&#39;) AS MyParsedDate;&lt;/blockquote&gt;&lt;br /&gt;&lt;i&gt;Result:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;MyParsedDate&lt;br /&gt;---------------&lt;br /&gt;NULL&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;PARSE and TRY_PARSE are two powerful new SQL Server 2012 Conversion Functions that can help you incorporate data sets from your business associates, customers, partners, and database applications in different parts of the world. You can even nest TRY_PARSE inside of a COALESCE() function to try parsing using multiple culture/language sets. Data warehouse ETL developers can use these functions to standardize dates and other data types stored in different localized data formats as they import this data into the warehouse. Application developers can keep a consistent data model structure even if the front-end application displays localized data formats to the user.&lt;br /&gt;&lt;br /&gt;Are you using PARSE() or TRY_PARSE() to solve a tough localization problem? Leave a comment!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/6827761592836717043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/02/t-sql-tips-parse-and-tryparse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6827761592836717043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6827761592836717043'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/02/t-sql-tips-parse-and-tryparse.html' title='T-SQL Tips: PARSE() and TRY_PARSE()'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-3611642529356811077</id><published>2013-01-26T18:10:00.000-08:00</published><updated>2013-01-26T18:10:00.107-08:00</updated><title type='text'>Bill Gates on the Importance of Measurement</title><content type='html'>This is a great read from this weekend&#39;s Wall Street Journal. &lt;a href=&quot;http://online.wsj.com/article/SB10001424127887323539804578261780648285770.html&quot; target=&quot;_blank&quot;&gt;Bill Gates on the Importance of Measurement&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We in the data analytics community understand that in order to improve something - whether it&#39;s customer or employee satisfaction, product quality, or some other process - you start by measuring it. We spend every day coming up with clever ways to collect and analyze data to improve the way we do things.&lt;br /&gt;&lt;br /&gt;We don&#39;t often consider that the same principles and techniques we use to analyze customer purchase records can have much broader applications in improving public health and education. What Mr. Gates draws attention to is that sound measurement is the key to fundamentally understanding a problem, setting clearly defined goals, and measuring progress toward achieving those goals.&lt;br /&gt;&lt;br /&gt;I admire Mr. Gates&#39; insightful exploration of this topic and very much look forward to Mr. Gates&#39; annual letter, set to be released January 30th. More info at &lt;a href=&quot;http://www.thegatesnotes.com/&quot; target=&quot;_blank&quot;&gt;www.thegatesnotes.com&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/3611642529356811077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/01/bill-gates-on-importance-of-measurement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3611642529356811077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3611642529356811077'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/01/bill-gates-on-importance-of-measurement.html' title='Bill Gates on the Importance of Measurement'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-7048045940223016185</id><published>2013-01-22T10:30:00.001-08:00</published><updated>2013-01-22T10:30:41.688-08:00</updated><title type='text'>Mobile App UI Mockups Made Easy</title><content type='html'>I&#39;m a big believer in prototyping as a vital part of a successful application development project. I&#39;ve been working on a custom iOS app for a client and have been having fun playing with a few user interface mockup tools for mobile apps that I thought I&#39;d share.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.fluidui.com/&quot; target=&quot;_blank&quot; imageanchor=&quot;1&quot; style=&quot;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;68&quot; width=&quot;166&quot; src=&quot;http://4.bp.blogspot.com/-BQSec9SWGPc/UP3ziu-ebnI/AAAAAAAAElU/hRuzZQ93YAE/s400/fluid%2Blogo.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fluid UI&lt;br /&gt;&lt;br /&gt;Fluid UI is a pretty amazing browser-based tool for visually wireframing iOS, Android, and Windows 8 mobile applications. You can quickly and easily create realistic mockups, complete with working navigation, save it, share it, and test it. I can see great possibilities with a tool like this. UI/UX designers can share ideas and get feedback from users quickly and without any code being written. Developers can refer to the mockups while they&#39;re coding to make sure they build in all the necessary functionality. Testers can refer to the mockups for expected test case results.&lt;br /&gt;&lt;br /&gt;With a free account, you get 1 project, up to 10 screens, 10MB of uploads, unlimited sharing and mobile testing. Not too bad for free, and may meet your needs for a smaller application. Not to mention it&#39;s really fun to play with their web app! You can try it for free on their site. www.fluidui.com&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://interface2.lesscode.co.nz/&quot; target=&quot;_blank&quot; imageanchor=&quot;1&quot; style=&quot;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;116&quot; width=&quot;400&quot; src=&quot;http://2.bp.blogspot.com/-Hm-nR4TYLSw/UP32ZFSWZSI/AAAAAAAAElo/NjQYBV9WiBY/s400/Interface%2B2%2Blogo.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Interface 2 Advanced Mockup for iOS&lt;br /&gt;&lt;br /&gt;Interface 2 Advanced Mockup for iOS is itself a mobile app available in the iTunes store for either iPhone or iPad. This app has some of the mockup and animation features as Fluid UI, with the added benefit of being able to export to XCode. This means you can turn your mockup into working code for many of the widgets available in the iOS SDK. I can&#39;t speak to the quality of the code, but my guess is that it&#39;ll be a good starting point that you&#39;ll then want to incorporate based on your own coding preferences and team standards. I wouldn&#39;t expect it to be able to produce App Store ready code, but it might give you a jump start on a functional prototype. Overall seems like a very promising tool.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://popapp.in/&quot; target=&quot;_blank&quot; imageanchor=&quot;1&quot; style=&quot;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; width=&quot;400&quot; src=&quot;http://1.bp.blogspot.com/-DQPa7xTer8k/UP39-SGwRQI/AAAAAAAAEl8/IErGefVfrII/s400/450.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Prototyping on Paper (POP)&lt;br /&gt;&lt;br /&gt;A colleague pointed me to this one last week. POP, another iOS app, encourages you to draw screen mockups on paper (presumably a whiteboard would work just as well), snap photos of each of your screen mockups, then start piecing the screens together by adding links and navigation between your drawings. For instance, if your drawing has a Back button at the top left, you can highlight that area and create a link back to the app home screen.&lt;br /&gt;&lt;br /&gt;I like this app because it lets you take the ideas straight from paper (or conference room whiteboard) to a sketchy mockup that includes some basic navigation. I often like to keep early design mockups fairly sketchy so users focus on functionality and don&#39;t get hung up on visual details like color and font that can come later in the design.&lt;br /&gt;&lt;br /&gt;These are just two that caught my eye. Leave a comment if you have tried these or have others to recommend.&lt;br /&gt;&lt;br /&gt;Happy prototyping!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/7048045940223016185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2013/01/mobile-app-ui-mockups-made-easy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7048045940223016185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7048045940223016185'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2013/01/mobile-app-ui-mockups-made-easy.html' title='Mobile App UI Mockups Made Easy'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-BQSec9SWGPc/UP3ziu-ebnI/AAAAAAAAElU/hRuzZQ93YAE/s72-c/fluid%2Blogo.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-5864260637729408191</id><published>2012-06-21T13:38:00.002-07:00</published><updated>2013-04-04T10:24:30.287-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Microsoft BI Whitepapers</title><content type='html'>Check out these two Microsoft BI whitepapers, both written by my friends and colleagues here at Hitachi Consulting.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/jj129615&quot; target=&quot;_blank&quot;&gt;How to Choose the Right Reporting and Analysis Tools to Suit Your Style&lt;/a&gt;&lt;br /&gt;Summary: This white paper provides information that will help business and IT decision makers select the right Microsoft reporting and analysis front-end tools based on their business users’ intent: self-service reporting, data mashups, professional reporting, dashboarding, and scorecarding.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/jj129615&quot; target=&quot;_blank&quot;&gt;Choosing a Tabular or Multidimensional Modeling Experience in SQL Server 2012 Analysis Services&lt;/a&gt;&lt;br /&gt;Summary: This white paper provides practical guidance to help BI professionals and decision makers decide whether SQL Server 2012 Analysis Services tabular or multidimensional modeling provides the best fit for your next BI solution.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/5864260637729408191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2012/06/microsoft-bi-whitepapers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/5864260637729408191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/5864260637729408191'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2012/06/microsoft-bi-whitepapers.html' title='Microsoft BI Whitepapers'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-4777284282861343032</id><published>2012-01-27T14:17:00.000-08:00</published><updated>2013-04-04T10:27:54.571-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="T-SQL"/><title type='text'>SQL Server Tip: View Schema Binding</title><content type='html'>As a database and ETL architect, I often find myself in situations where I am altering tables in SQL Server that have views that reference them. Changing the name of a column or renaming the table often breaks the view definition, resulting in an error when a database user queries the view.&lt;br /&gt;&lt;br /&gt;Using the WITH SCHEMABINDING option when you create a view binds the view to the schema of the underlying table or tables. The result is that you will get an error message if you attempt to alter the table without first updating or dropping the view definition. Setting this option on all of the views in your database is a great way to prevent developers from altering a table schema without also updating the views that reference that table or tables.&lt;br /&gt;&lt;br /&gt;Note: This option won&#39;t prevent you from making other alterations to your tables that might alter the data returned by a view.For example, if you change the grain of the underlying table, the WITH SCHEMABINDING option won&#39;t stop you from returning duplicate results. However, for many table alterations this little trick will save you a lot of headaches and disgruntled database users down the road.&lt;br /&gt;&lt;br /&gt;Read more about the WITH SCHEMABINDING option on SQL Server Books Online here: &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms187956.aspx&quot; target=_blank&gt;http://msdn.microsoft.com/en-us/library/ms187956.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps,&lt;br /&gt;&lt;br /&gt;Harlan</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/4777284282861343032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2012/01/sql-server-tip-view-schema-binding.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4777284282861343032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/4777284282861343032'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2012/01/sql-server-tip-view-schema-binding.html' title='SQL Server Tip: View Schema Binding'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-5893069297827099725</id><published>2012-01-04T23:29:00.000-08:00</published><updated>2013-04-04T10:24:30.289-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Installing Microsoft JDBC Driver for SQL Server</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I have successfully configured the Microsoft JDBC Driver for SQL Server 3.0 and thought I would post my deployment steps as well as my results from some troubleshooting, in case they are helpful.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps to configure JDBC:&lt;/b&gt;&lt;br /&gt;System requirements: Java Runtime Environment (JRE)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and install the &lt;a href=&quot;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=21599&quot; target=&quot;_blank&quot;&gt;Microsoft JDBC for SQL Server 3.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;When prompted, unzip to a directory &lt;b&gt;*with no spaces*&lt;/b&gt;&lt;/li&gt;&lt;li&gt;To use integrated security (Windows authentication), copy the&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc_auth.dll&lt;/span&gt; file to the C:\Windows\system32 directory. This file can be found under &lt;i&gt;JDBC_install_path&lt;jdbc installation=&quot;&quot; path=&quot;&quot;&gt;&lt;/jdbc&gt;&lt;/i&gt;\sqljdbc_&lt;i&gt;version&lt;version&gt;&lt;/version&gt;&lt;/i&gt;\&lt;i&gt;language&lt;language&gt;&lt;/language&gt;&lt;/i&gt;\auth. Use the appropriate x86, x64, or IA64&amp;nbsp;sqljdbc_auth.dll&amp;nbsp;file based on the JDBC help documentation.&lt;/li&gt;&lt;li&gt;Set the &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;CLASSPATH &lt;/span&gt;environment variable to include the appropriate version of the JDBC driver .jar file, with class paths separated by semicolons. Only one of the .jar files should be included in &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;CLASSPATH&lt;/span&gt;, either &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc.jar&lt;/span&gt; or &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc4.jar&lt;/span&gt;. Be sure to include any current CLASSPATH values in your set command. To see the current value, just run &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;set&lt;/span&gt; with no arguments.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;set CLASSPATH=.;&lt;/span&gt;&lt;i style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;JDBC_install_path&lt;/i&gt;&lt;jdbc directory=&quot;&quot; installation=&quot;&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;\sqljdbc_&lt;i&gt;version&lt;version&gt;&lt;/version&gt;&lt;/i&gt;\&lt;i&gt;language&lt;language&gt;&lt;/language&gt;&lt;/i&gt;\sqljdbc4.jar&lt;/jdbc&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li value=&quot;5&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;You should now be able to import the java.sql package and connect to a SQL Server database!&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/ol&gt;&lt;br /&gt;Sample Java:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;import java.sql.*;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;public class ConnectJDBC {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Create a variable for the connection string.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; String connectionUrl = &quot;jdbc:sqlserver://localhost\\MyInstance;integratedSecurity=true;database=AdventureWorks&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;//print message&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;Connection URL = &quot; + connectionUrl);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Declare the JDBC objects.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Connection con = null;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Establish the connection.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class.forName(&quot;com.microsoft.sqlserver.jdbc.SQLServerDriver&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;con = DriverManager.getConnection(connectionUrl);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; //print message&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;System.out.println(&quot;Successfully connected to the database!&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Handle any errors that may have occurred.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception e) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Compile and run this code&lt;br /&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;javac&amp;nbsp;ConnectJDBC.java&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;java&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ConnectJDBC&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;Congratulations! You have now successfully connected to a database. Next step: Executing a query and doing something with the results!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Errors &amp;amp; Troubleshooting&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Error 1:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver&lt;/span&gt;&lt;/blockquote&gt;This one was resolved as soon as I moved the JDBC install path to a path with no spaces. This one had me scratching my head for a while.&lt;br /&gt;&lt;br /&gt;Error 2:&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;com.microsoft.sqlserver.jdbc.SQLServerException: The server MyServer is not configured to listen with TCP/IP.&lt;/span&gt;&lt;/blockquote&gt;For this one, open SQL Server Configuration Manager and enable TCP/IP under SQL Server Network Configuration. You must restart the SQL Server service for the appropriate instance for the configuration change to take effect.&lt;br /&gt;&lt;br /&gt;Error 3:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;SEVERE: Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.&lt;/span&gt;&lt;/blockquote&gt;Make sure the CLASSPATH environment variable contains a reference to the appropriate .jar file, either&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc.jar&lt;/span&gt;&amp;nbsp;or&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc4.jar&lt;/span&gt;. In my case, I am using JRE version 1.7, so I need to use&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sqljdbc4.jar&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Error 4:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Error: Could not find or load main class &lt;i&gt;&lt;class name=&quot;&quot;&gt;&lt;/class&gt;&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;This is a common Java runtime error when the JVM can&#39;t find the main class. In my case, I forgot to include the current directory (.) in my CLASSPATH environment variable. Adding &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;.; &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;to the beginning of my CLASSPATH value fixed the problem.&lt;/span&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;set CLASSPATH=&lt;b&gt;.;&lt;/b&gt;&lt;i&gt;JDBC_install_path&lt;/i&gt;&lt;jdbc directory=&quot;&quot; installation=&quot;&quot;&gt;\sqljdbc_&lt;i&gt;version&lt;/i&gt;&lt;/jdbc&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;\&lt;i&gt;language&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;\sqljdbc4.jar&lt;/span&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/5893069297827099725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2012/01/installing-microsoft-jdbc-for-sql.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/5893069297827099725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/5893069297827099725'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2012/01/installing-microsoft-jdbc-for-sql.html' title='Installing Microsoft JDBC Driver for SQL Server'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-6438800456126341694</id><published>2011-10-31T16:29:00.000-07:00</published><updated>2013-04-04T10:26:52.298-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSAS"/><title type='text'>SSAS Maestro Program Site</title><content type='html'>The SSAS Maestro Program now has an official page on the Microsoft Learning site where you can find details on the program, some of the training objectives (which, by the way, make a great list for Analysis Services study concepts), and a Meet the Maestros page where you&#39;ll find info on all the current SSAS Maestro Program graduates.&lt;br /&gt;&lt;br /&gt;Check it out: &lt;a href=&quot;http://www.microsoft.com/learning/en/us/certification/ssas-maestros.aspx&quot; target=&quot;_blank&quot;&gt;http://www.microsoft.com/learning/en/us/certification/ssas-maestros.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Big thanks to Robert Davis and Microsoft Learning for putting the site together.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/6438800456126341694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/ssas-maestro-program-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6438800456126341694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6438800456126341694'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/ssas-maestro-program-site.html' title='SSAS Maestro Program Site'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-1056845828397350055</id><published>2011-10-21T17:47:00.000-07:00</published><updated>2013-04-04T10:26:52.295-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSAS"/><title type='text'>BISM Demystified</title><content type='html'>Just caught a great &lt;a href=&quot;http://blogs.msdn.com/b/cathyk/archive/2011/10/17/the-bi-semantic-model-mdx-dax-and-you.aspx&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt; from Cathy Dumas on Microsoft&#39;s Analysis Services team that helps alleviate some of the confusion around the BISM, MDX, DAX, etc. I know I personally left PASS last week a bit confused about what exactly the BISM was and how MDX &amp; DAX play into that, especially in light of Power View (formerly Project Crescent) currently only being able to query Tabular models (multidimensional/tabular - it&#39;s all just one BISM, right?!).</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/1056845828397350055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/bism-demystified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/1056845828397350055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/1056845828397350055'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/bism-demystified.html' title='BISM Demystified'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-1885378138232682689</id><published>2011-10-12T09:50:00.001-07:00</published><updated>2013-04-04T10:24:30.280-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>PASS Summit day 1 Keynote - More Announcements</title><content type='html'>SQL Server code-name &quot;Denali&quot; will now be called SQL Server 2012 and will be released in H1 of calendar year 2012.&lt;br /&gt;&quot;Project Crescent&quot; will now be named PowerView and will be released as part of SQL Server 2012.&lt;br /&gt;&quot;Project Juneau&quot; will be named SQL Server Data Tools and will be part of the 2012 release.&lt;br /&gt;SQL Server Azure Reporting Services will be released some time in 2012.&lt;br /&gt;Analysis Services for Azure will be coming soon. (Yay! Cloud cubes!)&lt;br /&gt;Project code-name &quot;Data Explorer&quot; is a new cloud service that will allow you categorize your data sets based on noun analysis, will suggest recommended Azure Marketplace data sets, and will allow you to join or &quot;Mashup&quot; multiple data sets from your own data or data from the cloud, then download the results to Excel, PowerPivot, etc. The product is expected to be rolled out sometime in the coming year.&lt;br /&gt;Oh, and one more thing. PowerView (aka Crescent) now has export to PowerPoint. And it will be available on mobile devices - Windows Phone, iPad, Android.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/1885378138232682689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-day-1-keynote-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/1885378138232682689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/1885378138232682689'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-day-1-keynote-more.html' title='PASS Summit day 1 Keynote - More Announcements'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-8855716558847250690</id><published>2011-10-12T09:13:00.000-07:00</published><updated>2013-04-04T10:24:30.298-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>PASS Summit Day 1 Keynote - SQL Server &amp; Apache Haddop Play Nice</title><content type='html'>OK, didn&#39;t see this coming...&lt;br /&gt;Microsoft&#39;s Ted Kummert just announced that the company will be making a foray into the world of Hadoop, not releasing their own MapReduce platform as I predicted yesterday.&lt;br /&gt;&lt;br /&gt;What will this look like? Microsoft has already announced connectors for SQL Server &amp; SQL Server Parallel Data Warehouse to get data into and out of Hadoop. In addition, the announcement at PASS today includes the following:&lt;br /&gt;&lt;br /&gt;1. Microsoft will begin actively contributing to the Apache Hadoop project, building a Hadoop for Windows distribution to ensure that the platform runs seamlessly on clusters of both Windows and Windows Azure.&lt;br /&gt;2. Microsoft will soon be releasing an ODBC driver and Excel add-in to connect to Apache Hive.&lt;br /&gt;3. Microsoft is partnering with hortonworks to help accelerate the Windows/SQL Server/Hadoop/Hive integration.&lt;br /&gt;&lt;br /&gt;Pretty exciting stuff. Not to mention my buddy Denny Lee (Principal Program Manager on the SQLCAT team) got to make the announcement. He told us a while back that he was working on Big Data but couldn&#39;t tell us much... I guess this is what he meant!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/8855716558847250690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-day-1-keynote-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/8855716558847250690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/8855716558847250690'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-day-1-keynote-sql-server.html' title='PASS Summit Day 1 Keynote - SQL Server &amp; Apache Haddop Play Nice'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-860331807741592498</id><published>2011-10-11T22:15:00.000-07:00</published><updated>2013-04-04T10:26:52.300-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSAS"/><title type='text'>SSAS 2008 R2 Performance Guide</title><content type='html'>SQLCAT has published the latest version of the &lt;a href=&quot;http://sqlcat.com/sqlcat/b/whitepapers/archive/2011/10/10/analysis-services-2008-r2-performance-guide.aspx&quot; target=&quot;_blank&quot;&gt;Analysis Services Performance Guide for SQL Server 2008 R2&lt;/a&gt;. If you are an SSAS developer or architect, do yourself a favor and spend some time studying this paper. There are all kinds of goodies in there. Keep a copy on a thumb drive and take it with you wherever you go - you&#39;ll be glad you did.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/860331807741592498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/ssas-2008-r2-performance-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/860331807741592498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/860331807741592498'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/ssas-2008-r2-performance-guide.html' title='SSAS 2008 R2 Performance Guide'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-3305893926128518906</id><published>2011-10-11T16:25:00.000-07:00</published><updated>2013-04-04T10:24:30.283-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Microsoft Big Data Announcement - A Prediction</title><content type='html'>Rumor has it that Microsoft will be making a major Big Data announcement at this year&#39;s &lt;a href=&quot;http://www.sqlpass.org/summit/2011/&quot; target=&quot;_blank&quot;&gt;PASS Summit&lt;/a&gt;  - most likely in Ted Kummert&#39;s &lt;a href=&quot;http://www.sqlpass.org/summit/2011/SummitContent/Keynotes.aspx&quot; target=&quot;_blank&quot;&gt;keynote &lt;/a&gt;Wednesday morning. My prediction? This is pure speculation, but my guess is that Microsoft will be releasing &lt;a href=&quot;http://research.microsoft.com/en-us/projects/dryad/&quot; target=&quot;_blank&quot;&gt;Dryad&lt;/a&gt;, &lt;a href=&quot;http://research.microsoft.com/en-us/projects/dryadlinq/&quot; target=&quot;_blank&quot;&gt;DyadLINQ&lt;/a&gt;, and/or &lt;a href=&quot;http://www.goland.org/whatiscosmos/&quot; target=&quot;_blank&quot;&gt;Cosmos&lt;/a&gt; into the wild - either open-sourcing them or (more likely) announcing them as a new product line under the Business Platform Division. Guess I&#39;ll find out for sure tomorrow!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/3305893926128518906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/microsoft-big-data-announcement.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3305893926128518906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/3305893926128518906'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/microsoft-big-data-announcement.html' title='Microsoft Big Data Announcement - A Prediction'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-7329754958975966019</id><published>2011-10-05T10:27:00.000-07:00</published><updated>2013-04-04T10:26:52.299-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSAS"/><title type='text'>Management Studio Bug in Denali CTP3 - All SSAS hierarchy levels are displayed</title><content type='html'>While browsing the Adventure Works dample cube in Denali CTP3 SQL Server Management Studio, I noticed that when I add the Customer Geography hierarchy to my rows axis, all levels of the hierarchy are displayed.   &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-AbjBKek61ZM/ToyTD2XozfI/AAAAAAAACsY/MHyyqKesiBk/s1600/SSMS%2BHierarchy.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;173&quot; src=&quot;http://2.bp.blogspot.com/-AbjBKek61ZM/ToyTD2XozfI/AAAAAAAACsY/MHyyqKesiBk/s320/SSMS%2BHierarchy.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;When I add the same hierarchy to the rows axis in an Excel PivotTable, as expected, only the top level (in this case, Country) is displayed. I imagine this is a bug in the CTP3 build, but I haven&#39;t had the chance to search around on &lt;a href=&quot;https://connect.microsoft.com/SQLServer/Feedback&quot; target=&quot;_blank&quot;&gt;Connect&lt;/a&gt; for it.  &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-SybvOGKVyic/ToyTLcZEKTI/AAAAAAAACsg/FPVUzdTtZUE/s1600/Pivot%2BTable%2BHierarchy.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;http://4.bp.blogspot.com/-SybvOGKVyic/ToyTLcZEKTI/AAAAAAAACsg/FPVUzdTtZUE/s320/Pivot%2BTable%2BHierarchy.png&quot; width=&quot;315&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;*Update*&lt;/b&gt; I just logged this as a bug on Microsoft Connect. Please click below to vote for it if you can reproduce the same results (or if you trust me implicitly!) &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://connect.microsoft.com/SQLServer/feedback/details/693225/denali-ctp3-ssms-displays-all-hierarchy-levels-when-browsing-ssas-mulidimensional-cube&quot; target=&quot;_blank&quot;&gt;https://connect.microsoft.com/SQLServer/feedback/details/693225/denali-ctp3-ssms-displays-all-hierarchy-levels-when-browsing-ssas-mulidimensional-cube&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/7329754958975966019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/management-studio-bug-in-denali-ctp3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7329754958975966019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7329754958975966019'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/management-studio-bug-in-denali-ctp3.html' title='Management Studio Bug in Denali CTP3 - All SSAS hierarchy levels are displayed'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-AbjBKek61ZM/ToyTD2XozfI/AAAAAAAACsY/MHyyqKesiBk/s72-c/SSMS%2BHierarchy.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-7081379988823644909</id><published>2011-10-03T19:53:00.000-07:00</published><updated>2013-04-04T10:24:30.293-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>SQL Server &quot;Denali&quot; CTP3 Adventure Works Samples</title><content type='html'>The latest Adventure Works sample databases are now available on Codeplex for SQL Server code name &quot;Denali&quot; Community Technology Preview 3 (CTP3). The samples include the Adventure Works OLTP and Data Warehouse sample databases you might be familiar with from previous SQL Server product releases, as well as sample projects for SSAS Multidimensional Model (UDM) and SSAS Tabular Model (BISM), which includes Adventure Works DW PowerPivot workbook, Adventure Works DW tabular model, and related Project Crescent reports. Also be sure to check out Getting Started with Project &quot;Crescent&quot; and PowerPivot for Excel.  &lt;a href=&quot;http://msftdbprodsamples.codeplex.com/releases/view/55330&quot; target=&quot;_blank&quot;&gt;http://msftdbprodsamples.codeplex.com/releases/view/55330&lt;/a&gt; I have CTP3 installed on a test machine and will be installing the sample databases shortly. Looking forward to sharing what I learn!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/7081379988823644909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/sql-server-denali-ctp3-adventure-works.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7081379988823644909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7081379988823644909'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/sql-server-denali-ctp3-adventure-works.html' title='SQL Server &quot;Denali&quot; CTP3 Adventure Works Samples'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-7313629021264976110</id><published>2011-10-03T19:42:00.000-07:00</published><updated>2013-04-04T10:24:30.294-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>PASS Summit 2011 - See you there!</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.sqlpass.org/summit/2011/&quot; imageanchor=&quot;1&quot; style=&quot;clear:left; float:left;margin-right:1em; margin-bottom:1em&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; width=&quot;180&quot; src=&quot;http://2.bp.blogspot.com/-OgA1OaUITzA/TopwlHMxjxI/AAAAAAAACsI/3ukmP7oTe6I/s400/PASS_2011_button_180x180.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt; I will be attending PASS Summit for my first time next week. Very excited for this year&#39;s lineup of speakers and looking forward to getting the inside scoop on some of the new Denali features. I&#39;m just glad I pre-ordered the conference DVD so I don&#39;t have to stress out about choosing from all the great content. Stay tuned for updates and highlights all next week.</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/7313629021264976110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-2011-see-you-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7313629021264976110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/7313629021264976110'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/10/pass-summit-2011-see-you-there.html' title='PASS Summit 2011 - See you there!'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-OgA1OaUITzA/TopwlHMxjxI/AAAAAAAACsI/3ukmP7oTe6I/s72-c/PASS_2011_button_180x180.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-2655909532585698597</id><published>2011-09-19T15:27:00.000-07:00</published><updated>2013-04-04T10:26:52.296-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSAS"/><title type='text'>SSAS Maestros</title><content type='html'>Hooray! I&#39;m very excited to announce that I am officially a Microsoft-certified SQL Server Analysis Services (SSAS) Maestro! SSAS Maestros is a new advanced Analysis Services course Microsoft has been developing this year, and I&#39;m very proud to say that I&#39;m one of the first &quot;graduates&quot; of the program.  Check out the &lt;a href=&quot;http://sqlcat.com/sqlcat/b/technicalnotes/archive/2011/09/19/announcing-the-first-wave-of-ssas-maestros.aspx&quot;&gt;announcement&lt;/a&gt; over at SQL CAT to see a listing of my ten comrades.   It&#39;s very humbling to see my name on a list with these world-renowned BI experts and authors I&#39;ve been admiring for years. Congratulations to all of my fellow Maestros!</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/2655909532585698597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/09/ssas-maestros.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/2655909532585698597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/2655909532585698597'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/09/ssas-maestros.html' title='SSAS Maestros'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-372387967291701142</id><published>2011-01-21T14:47:00.000-08:00</published><updated>2013-04-04T10:24:30.285-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Microsoft BI Tool Choice Whitepaper</title><content type='html'>A few colleagues of mine at Hitachi Consulting, in collaboration with Microsoft, just published a Microsoft Business Intelligence whitepaper, &quot;&lt;a href=&quot;http://download.microsoft.com/download/A/B/2/AB27C2C1-EA88-40D5-B183-D4AD6E858E86/Microsoft_BI_Tool_Choices.docx&quot;, target=&quot;_blank&quot;&gt;How to Choose the Right Business Intelligence Technology to Suit Your Style&lt;/a&gt;&quot;. The paper outlines several BI reporting styles - Self-Service Analysis, Business Reporting, Parameterized &amp; Operational Reporting, Performance Monitoring, and Scorecarding - and how Microsoft BI tools can be used to meet the unique needs of each style. The paper specifically evaluates Microsoft Excel 2010, PowerPivot for Excel 2010, Report Builder 3.0, PerformancePoint Services, and SQL Server 2008 R2 Reporting Services and explains how each one can be applied in different scenarios.&lt;br /&gt;&lt;br /&gt;I was a reviewer and helped out with some of the content, so if there are mistakes, it&#39;s probably my fault!&lt;br /&gt;&lt;br /&gt;Harlan</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/372387967291701142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2011/01/microsoft-bi-tool-choice-whitepaper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/372387967291701142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/372387967291701142'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2011/01/microsoft-bi-tool-choice-whitepaper.html' title='Microsoft BI Tool Choice Whitepaper'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-6708018050930292297</id><published>2010-12-15T22:12:00.000-08:00</published><updated>2010-12-15T23:21:40.805-08:00</updated><title type='text'>Large Scale Data Warehousing and Analytics</title><content type='html'>A sampling of things I&#39;ve been paying attention to lately:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;MapReduce and Google File Store&lt;/span&gt;&lt;br /&gt;Google Cluster Computing and MapReduce Lectures&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=yjPBkvYh-ss&quot; target=&quot;_blank&quot;&gt;Lecture 1&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=-vD6PUdf3Js&quot; target=&quot;_blank&quot;&gt;Lecture 2&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=5Eib_H_zCEY&quot; target=&quot;_blank&quot;&gt;Lecture 3&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=1ZDybXl212Q&quot; target=&quot;_blank&quot;&gt;Lecture 4&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=BT-piFBP4fE&quot; target=&quot;_blank&quot;&gt;Lecture 5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Google Research Publications&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://labs.google.com/papers/mapreduce.html&quot; target=&quot;_blank&quot;&gt;http://labs.google.com/papers/mapreduce.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://labs.google.com/papers/gfs.html&quot; target=&quot;_blank&quot;&gt;http://labs.google.com/papers/gfs.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Microsoft Cosmos and Dryad&lt;/span&gt;&lt;br /&gt;What is Cosmos?&lt;br /&gt;&lt;a href=&quot;http://www.goland.org/whatiscosmos/&quot; target=&quot;_blank&quot;&gt;http://www.goland.org/whatiscosmos/&lt;/a&gt;&lt;br /&gt;Microsoft Research - Project Dryad&lt;br /&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/projects/dryad/&quot; target=&quot;_blank&quot;&gt;http://research.microsoft.com/en-us/projects/dryad/&lt;/a&gt;&lt;br /&gt;Dryad: A general-purpose distributed execution platform&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=WPhE5JCP2Ak&quot; target=&quot;_blank&quot;&gt;http://www.youtube.com/watch?v=WPhE5JCP2Ak&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Hadoop and Cloudera&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=S9xnYBVqLws&quot; target=&quot;_blank&quot;&gt;What is Hadoop?&lt;/a&gt;&lt;br /&gt;Robert Scoble interviews Mike Olson, CEO of Cloudera&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Introduction to Apache Pig&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cloudera.com/videos/introduction_to_pig target=&quot;_blank&quot;&gt;http://www.cloudera.com/videos/introduction_to_pig&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Hadoop and Hive at Facebook&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cloudera.com/videos/hw09_rethinking_the_data_warehouse_with_hadoop_and_hive target=&quot;_blank&quot;&gt;http://www.cloudera.com/videos/hw09_rethinking_the_data_warehouse_with_hadoop_and_hive&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...and completely unrelated:&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Teradata University Network (TUN)&lt;/span&gt;&lt;br /&gt;&quot;Teradata University Network is a web-based portal for faculty and students in data warehousing, business intelligence/decision support, and database that is provided at no cost to the university. This content also can support Introduction to IT courses at the undergraduate and graduate levels.&quot;&lt;br /&gt;&lt;a href=&quot;http://www.teradatauniversitynetwork.com/tun/&quot; target=&quot;_blank&quot;&gt;http://www.teradatauniversitynetwork.com/tun/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/6708018050930292297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2010/12/large-scale-data-warehousing-and.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6708018050930292297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6708018050930292297'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2010/12/large-scale-data-warehousing-and.html' title='Large Scale Data Warehousing and Analytics'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7790893274228152032.post-6499683668854500511</id><published>2010-07-17T11:53:00.001-07:00</published><updated>2013-04-04T10:26:13.572-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSIS"/><title type='text'>Decoding HTML-Encoded Text in SSIS</title><content type='html'>I have a SQL Server data source that contains a column that has been HTML-encoded in an upstream system. I need to join this encoded string to another table that contains the original Unicode text entered by the user, which is not HTML-encoded.&lt;br /&gt;&lt;br /&gt;Original Unicode text: &lt;span style=&quot;font-family:courier new;&quot;&gt;Découvrez&lt;/span&gt;&lt;br /&gt;HTML-encoded text: &lt;span style=&quot;font-family:courier new;&quot;&gt;D&amp;amp; #233;couvrez&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;(Note: I added a space between &amp;amp; and # in the HTML-encoded text so your browser won&#39;t automatically decode it.)&lt;br /&gt;&lt;br /&gt;The .Net HttpUtility class allows you to decode HTML-encoded text with the HttpUtility.HtmlDecode method. (The HttpUtility.HtmlEncode method does the opposite - encodes Unicode text as HTML-encoded text.)&lt;br /&gt;&lt;br /&gt;To accomplish this task, I created a SQL Server Integration Services (SSIS) package with a custom Script Component transformation in a Data Flow Task. Here are the steps I followed, which may help you do the same:&lt;br /&gt;&lt;br /&gt;1. Add a Data Flow task to your package and add a new Data Flow Source that points to the source table or file that contains the HTML-encoded text. (I am using the OLE DB connection manager to connect to my SQL Server source. My source table name is Dim_Ad)&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIL7TRz85I/AAAAAAAACjE/j5r-SUCcNaE/s1600/Source.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494967608760595346&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIL7TRz85I/AAAAAAAACjE/j5r-SUCcNaE/s320/Source.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;2. Click on the Columns tab and set the column with the HTML-encoded text as both an External and Output column. (My HTML-encoded column is AdName). Also select any other columns you would like to pass through to your destination.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIL-nLPgCI/AAAAAAAACjM/tgIWdH9Zn_E/s1600/Source+Columns.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494967665641357346&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIL-nLPgCI/AAAAAAAACjM/tgIWdH9Zn_E/s320/Source+Columns.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now comes the important part - you will add a custom Script Component transformation to decode the HTML-encoded text.&lt;br /&gt;&lt;br /&gt;3. Add a Script Component transformation to your data flow task and drag the green output pointer from your data source to the script component.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIM50Qzm4I/AAAAAAAACjU/6AxDp7jtJhk/s1600/Script+component+input+mapping.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 252px; DISPLAY: block; HEIGHT: 245px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494968682766637954&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIM50Qzm4I/AAAAAAAACjU/6AxDp7jtJhk/s320/Script+component+input+mapping.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;4. Double-click the Script Component for editing. The first time you open the script component, you will have the option of selecting the Script Language. I chose Microsoft Visual C# 2008. If you are more comfortable with VB than C#, you can choose Microsoft Visual Basic 2008 instead.*&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIPFwBrOLI/AAAAAAAACjs/eXlf-QYefYQ/s1600/Script+Component.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494971086811117746&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIPFwBrOLI/AAAAAAAACjs/eXlf-QYefYQ/s320/Script+Component.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;5. Click on the Input Columns tab and select your HTML-encoded column as an input column. (In my case, AdName). Also include any other columns you would like to pass through to the destination.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEINyQF7TUI/AAAAAAAACjc/HGWhoDx4EAQ/s1600/Script+component+input+columns.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494969652309871938&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEINyQF7TUI/AAAAAAAACjc/HGWhoDx4EAQ/s320/Script+component+input+columns.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;6. Click on the Inputs and Outputs tab. Expand the Output 0 node, click on Output Columns, and then click Add Column. Give your column a friendly name (I chose DecodedText) and set the Data Type to Unicode string (DT_WSTR). Set the Length of your column to match the source column length (in my case Dim_Ad.AdName length is 100 so I chose 100 for my output column length).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIOpT2UcBI/AAAAAAAACjk/Nwuv_V25w3k/s1600/Script+output+columns.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494970598210957330&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIOpT2UcBI/AAAAAAAACjk/Nwuv_V25w3k/s320/Script+output+columns.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;7. Go back to the Script tab and click on Edit Script... You should see the script editor window, which will look something like this:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIP9j63ikI/AAAAAAAACj0/j-OosnvAiSQ/s1600/Script+editor.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 194px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494972045634013762&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIP9j63ikI/AAAAAAAACj0/j-OosnvAiSQ/s320/Script+editor.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;8. You will need to add a reference to the System.Web dll to your project before you can reference the HttpUtility class. Click on Project &gt; Add Reference. In the .Net tab, scroll down to select System.Web and click OK.&lt;br /&gt;&lt;br /&gt;Note: For some reason, any time you close and reopen the script, it loses this System.Web reference. If, after closing and reopening a script, you get the following error message: &lt;i&gt;The name &#39;HttpUtility&#39; does not exist in the current context.&lt;/i&gt;, simply repeat this step to add the System.Web dll reference back to your project.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIQsNqq6jI/AAAAAAAACj8/JErmdGSJkB4/s1600/System+Web+reference.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 271px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494972847114349106&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://3.bp.blogspot.com/_yB78AenQjKQ/TEIQsNqq6jI/AAAAAAAACj8/JErmdGSJkB4/s320/System+Web+reference.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;9. Add the following code to the script, below &lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;using&lt;/span&gt; System;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:&#39;courier new&#39;;&quot;&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;using&lt;/span&gt; System.Web;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;using&lt;/span&gt; System.IO;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIRvarTcTI/AAAAAAAACkE/2Tvl9x2rjgo/s1600/using+system+web+io.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 194px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494974001657901362&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIRvarTcTI/AAAAAAAACkE/2Tvl9x2rjgo/s320/using+system+web+io.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;10. Add the following code below the &quot;&lt;span style=&quot;font-family:courier new;color:#009900;&quot;&gt;Add your code here&lt;/span&gt;&quot; comment (If necessary, replace &quot;&lt;span style=&quot;font-family:courier new;&quot;&gt;DecodedText&lt;/span&gt;&quot; with your output column name and replace &quot;&lt;span style=&quot;font-family:courier new;&quot;&gt;AdName&lt;/span&gt;&quot; with your HTML-encoded input column name)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:&#39;courier new&#39;;&quot;&gt;Row.DecodedText = HttpUtility.HtmlDecode(Row.AdName);&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEJWfXvUS7I/AAAAAAAACko/xqsygamNne0/s1600/Script+code.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 242px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5495049592293837746&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEJWfXvUS7I/AAAAAAAACko/xqsygamNne0/s400/Script+code.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;11. Save and close the script. This will return you to the Script Transformation Editor. Click OK.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;12. Now all you need to do is add a destination adapter to the data flow task, drag the green output pointer from the custom script component to the destination, open the destination adapter, and map the DecodedText output column from the script component transformation to the desired input column of your destination&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIVqIcA1NI/AAAAAAAACkU/nLhVLz2a_U0/s1600/map+to+destination.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 275px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494978308909094098&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_yB78AenQjKQ/TEIVqIcA1NI/AAAAAAAACkU/nLhVLz2a_U0/s320/map+to+destination.png&quot; /&gt;&lt;/a&gt;Note: The destination column data type must support Unicode text. I am using a SQL Server OLE DB connection, so my destination column is an NVarchar(100).&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIVtB3puLI/AAAAAAAACkc/2rwwoWsxAbg/s1600/map+to+destination+column.png&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 277px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5494978358685579442&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_yB78AenQjKQ/TEIVtB3puLI/AAAAAAAACkc/2rwwoWsxAbg/s320/map+to+destination+column.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now Execute your package and check the destination to test that any HTML-encoded text actually got decoded to Unicode text.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;HTML-encoded source text: &lt;span style=&quot;font-family:courier new;&quot;&gt;D&amp;amp; #233;couvrez &lt;/span&gt;(Space added to avoid browser decoding)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Decoded destination Unicode text: &lt;span style=&quot;font-family:courier new;&quot;&gt;Découvrez&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Voilà, all done!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;*If you decide to use Visual Basic as your scripting language instead of C#, note the following minor differences in the code syntax:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;C#:&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;using&lt;/span&gt; System.IO;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;VB:&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;Imports&lt;/span&gt; System.Web&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;Imports&lt;/span&gt; System.IO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;C#:&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;Row.DecodedText = HttpUtility.HtmlDecode(Row.AdName); &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;VB:&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;Row.DecodedText = HttpUtility.HtmlDecode(Row.AdName)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/7c5fyk1k.aspx&quot;&gt;HttpUtility.HtmlDecode Method (MSDN)&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/HTML_encoding&quot;&gt;Character Encodings in HTTP (Wikipedia)&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.harlansmith.com/feeds/6499683668854500511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.harlansmith.com/2010/07/decoding-html-encoded-text-in-ssis.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6499683668854500511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7790893274228152032/posts/default/6499683668854500511'/><link rel='alternate' type='text/html' href='http://www.harlansmith.com/2010/07/decoding-html-encoded-text-in-ssis.html' title='Decoding HTML-Encoded Text in SSIS'/><author><name>Harlan Smith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_yB78AenQjKQ/TEIL7TRz85I/AAAAAAAACjE/j5r-SUCcNaE/s72-c/Source.png" height="72" width="72"/><thr:total>7</thr:total></entry></feed>