<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'SSIS' and 'Connect'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=SSIS,Connect&amp;orTags=0</link><description>Search results matching tags 'SSIS' and 'Connect'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>A potted SSIS history via Connect</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2011/04/07/a-potted-ssis-history-via-connect.aspx</link><pubDate>Thu, 07 Apr 2011 14:12:12 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34725</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;Yesterday I received a notification that one of my submissions to &lt;a href="http://connect.microsoft.com"&gt;http://connect.microsoft.com&lt;/a&gt; had received a comment. Nothing unusual about that, I receive those sorts of emails every day, on this occasion however the comment was actually worth reading.&lt;/p&gt;  &lt;p&gt;The comment was from SSIS development guru Jeff Bernhardt (he has changed job titles recently but I don’t know the new one so “dev guru” will have to do) and was posted in reply to my request for a single type system in SSIS (which I also blogged about last month at &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2011/03/14/have-ssis-differing-type-systems-ever-caused-you-problems.aspx" target="_blank"&gt;Have SSIS' differing type systems ever caused you problems?&lt;/a&gt;). Jeff’s comment provided a rather unique insight into some of the machinations within the SSIS product team as they go about triaging our many Connect submissions and also gave an interesting potted history of the SSIS product itself. For these reasons I thought it would be worth highlighting the comment to the larger SSIS community so with Jeff’s permissions I have copied the comment below (you can see the original at [&lt;a href="http://bit.ly/dQvMHl" target="_blank"&gt;SSIS] Consolidate three type systems into one&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;…&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The three type systems make me crazy too. They make all of the developers working on the guts of SSIS crazy. The history is interesting so I will share it:&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The first part of SSIS that was built in the proto-days of 1999 was the replacement for the DTS import export wizard. I know, hard to believe. This was the first ‘host’ for the dataflow pipeline. The pipeline was built to use the OLEDB type system to make reading and writing from OLEDB really fast. Our internal buffers are really just OLEDB bound memory layouts. The DT_Foo type system is an exact copy of the OLEDB type system with some extra types added for SSIS specific use. That type system is built in deep to the dataflow and all transforms.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Next to arrive was the Runtime, we needed a real host for pipelines and a way to coordinate activities. In those days, the way software was built and extended here at Microsoft was to use COM and OLE Automation friendly interfaces. We expected that most folks that embedded and extended SSIS (then still called DTS) was to use native code and COM interfaces. Naturally, that is how the Runtime was designed and built; the COM type system is pervasive and runs deep inside the native Runtime. This is why we see the VARIANT types with BSTRs, SAFEARRAYS, etc. (as a fun note, the VARIANT type was design to copy the internal type system of Visual Basic, a VARIANT is a Var )&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;When it came time to build a designer for these interfaces (and believe it or not, the designer started a year or so after the internals were working) we took a bet on managed code and c#. This was a bet at the time; managed code was new and un-proven. There was a lot of anxiety. The UI is all managed code and so its chock full of the new and fancy CLR type system. We expected that some people might use managed code to host or extend SSIS so a lot of ‘wrappers’ were put together to make that work. Of course the seams on the type system show through.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;So here we are with three type systems. Getting rid of the DT_Foo system would mean re-writing the pipeline (probably in managed code) and putting in a big shunting system to maintain backward compatibility with older transforms.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Getting rid of the VARIANT type system would mean re-writing the Runtime (probably managed) and providing some shunting and upgrade system for old packages and tasks.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Re-writing the UI is crazy talk, and would still need all of the back-compat layers put in.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;So as much as we hate where we are, fixing this issue is a HUGE undertaking. For instance, it may have been the only work we took on for Denali. Certainly we thought about it, but the value delivered to customers of this one change is low when compared to all of the other things we could do for the same effort.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;What does the future hold? It is hard to imagine us ever investing the effort to fix the SSIS type problem, mostly because of all of the backward compatibility issues that it would create. As we look to new problem spaces and new ways of solving problem in the cloud world, I expect the CLR type system will become the common language of data movement for us.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;We will remember the pain that our short sighted decision making in 2001 unleashed on our devoted developer friends and we will strive to avoid making these mistakes again.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;-Jeff Bernhardt&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;</description></item><item><title>Have SSIS' differing type systems ever caused you problems?</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2011/03/14/have-ssis-differing-type-systems-ever-caused-you-problems.aspx</link><pubDate>Mon, 14 Mar 2011 16:46:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34115</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;One thing that has always infuriated me about SSIS is the fact that&amp;nbsp;every package has three different type systems; to give you an idea of what I am talking about consider the following:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The SSIS dataflow's type system is made up of types called DT_*&amp;nbsp; (e.g. DT_STR, DT_I4)&lt;/LI&gt;
&lt;LI&gt;The SSIS variable type system is based on .Net datatypes (e.g. String, Int32)&lt;/LI&gt;
&lt;LI&gt;The types available for Execute SQL Task's parameters are based on something else - I don't exactly know what (e.g. VARCHAR, LONG)&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Speaking euphemistically ...&amp;nbsp;this is not an optimum situation (were I not speaking euphemistically I would be a lot ruder) and hence I have submitted a suggestion to Connect at&amp;nbsp;&lt;A href="https://connect.microsoft.com/SQLServer/feedback/details/651324/ssis-consolidate-three-type-systems-into-one" target=_blank&gt;[SSIS] Consolidate three type systems into one&lt;/A&gt; requesting that it be remedied. This accompanying blog post is not however a request for votes (though that would be nice); the reason is actually subtler than that. Let me explain.&lt;/P&gt;
&lt;P&gt;I have been submitting bugs and suggestions pertaining to&amp;nbsp;SSIS for years and have, so far, submitted &lt;A href="https://connect.microsoft.com/SQLServer/SearchResults.aspx?UserHandle=Jamie+Thomson" target=_blank&gt;over 200 Connect items&lt;/A&gt;.&amp;nbsp;If that experience has taught me anything it is this - Connect items are not generally actioned because they&amp;nbsp;are considered "nice to have". No, SSIS Connect items get actioned because they cause customers grief and if I am perfectly honest I must admit that, other than being&amp;nbsp;a bit&amp;nbsp;gnarly, SSIS' three type system&amp;nbsp;architecture has never knowingly caused me any significant problems.&lt;/P&gt;
&lt;P&gt;The reason for this blog post is to ask if any reader out there has ever encountered any problems on account of SSIS' three type systems or have you, like me, never found them to be a problem?&amp;nbsp;Errors or performance degredation caused by implicit type conversions would, I believe, present a strong case for getting this situation remedied in a&amp;nbsp;future version of SSIS so if you HAVE encountered such problems I would encourage you to leave a comment on the &lt;A href="https://connect.microsoft.com/SQLServer/feedback/details/651324/ssis-consolidate-three-type-systems-into-one" target=_blank&gt;Connect submission&lt;/A&gt; accordingly. Let me know in the comments too - I would be interested to hear others' opinions on this.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://twitter.com/jamiet" target=_blank&gt;@Jamiet&lt;/A&gt; &lt;/P&gt;</description></item><item><title>Newly closed Connect items auger well for SSIS in Denali</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/09/10/newly-closed-connect-items-auger-well-for-ssis-in-denali.aspx</link><pubDate>Fri, 10 Sep 2010 11:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:28671</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;Todd Mcdermid spoke recently on his blog post &lt;A class="" href="http://toddmcdermid.blogspot.com/2010/08/integration-services-vnext-coming-soon.html" target=_blank&gt;Integration Services vNext Coming Soon&lt;/A&gt; about how some recently closed Connect items had encouraged him as to the future of SSIS. Also, Matt Masson from the SSIS team has written a similarly encouraging blog post about some upcoming SSIS enhancements at &lt;A class="" href="http://blogs.msdn.com/b/mattm/archive/2010/08/25/upcoming-product-changes.aspx" target=_blank&gt;Upcoming Product Changes&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Now its my turn. Just this morning I had three Connect items returned to me as "fixed" and, like Todd, I'm&amp;nbsp;delighted to see these items getting closed as such. I have long complained about the shortcomings of SSIS's logging framework as I don't believe it produces enough "context" as to why a container happens to be executing; the consequence being that we end up getting lost in a&amp;nbsp;plethora of log records where we can't see how each one relates to another. These three Connect items give me hope that this issue is getting addressed in the next version of SSIS (aka SQL11 aka Denali).&lt;/P&gt;
&lt;P&gt;The three Connect items in question are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=126479" target=_blank&gt;Can't differrentiate between multiple instances of a task running in parallel&lt;/A&gt; - If a&amp;nbsp;container happens to be running in parallel with another instance of itself (e.g. a dataflow task in a package that has been called from two Execute Package Tasks) there is no way to differentiate between the two. A solution would be to provide an Execution identifier for the execution of each container just like the ExecutionGUID that we get for a package.&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=355956" target=_blank&gt;Please put ExecutionGUID property on DtsContainer &lt;/A&gt;- Pretty much the same as the last one&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=207395" target=_blank&gt;SSIS: Make container stack available&lt;/A&gt; - This refers to what I call the &lt;EM&gt;context&lt;/EM&gt; of a task being executed. We know that a task is executing but what are all the ancestral tasks and containers in the &lt;A class="" href="http://consultingblogs.emc.com/jamiethomson/archive/2005/07/13/1792.aspx" target=_blank&gt;container&amp;nbsp;hierarchy&lt;/A&gt; that have led to that task being executed?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The provision of more execution metadata for logging purposes&amp;nbsp;gives me hope&amp;nbsp;that the next version of SSIS will have a much better story around logging. Hopefully we won't have to wait long to find out.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://twitter.com/jamiet" target=_blank&gt;@Jamiet&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Be wary of using UNC paths in SSIS packages</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/08/19/be-wary-of-using-unc-paths-in-ssis-packages.aspx</link><pubDate>Thu, 19 Aug 2010 19:15:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:28066</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;I have recently discovered what I believe to be a bug in SQL Server Integration Services (SSIS) 2008 and am taking the opportunity herein to warn about it so that nobody else gets stung by it.&lt;/P&gt;
&lt;P&gt;The bug concerns the use of Uniform Naming Convention (UNC) paths inside a .dtsx package (i.e. paths that start with a “\\”). I have managed to reproduce a situation where a package will attempt to validate a File Connection Manager containing a UNC path even if the task(s) that use that Connection Manager have got DelayValidation=TRUE. In other words, the package may attempt to validate a Connection that will fail and this will cause errors in your package.&lt;/P&gt;
&lt;P&gt;The first screenshot below shows the execution of my repro package. Notice:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;When the package starts up &lt;FONT face="Courier New"&gt;@[User::FakeFileLocation]&lt;/FONT&gt; points to a non-existent drive "u:"&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Also be aware of a few things that aren’t evident from the screenshot:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The ConnectionString of the "FILE" connection manager is set to &lt;FONT face="Courier New"&gt;@[User::FakeFileLocation]&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;The script task changes &lt;FONT face="Courier New"&gt;@[User::FakeFileLocation]&lt;/FONT&gt; to be the same as &lt;FONT face="Courier New"&gt;@[User::RealFileLocation]&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;The dataflow task, the connection manager &amp;amp; the package all have DelayValidation=TRUE&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In this case everything works OK, no errors are thrown, everything is peachy.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/cid_image005_jpg01CB3F9D_4A79FBB8.jpg"&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=!cid_image005_jpg@01CB3F9D border=0 alt=!cid_image005_jpg@01CB3F9D src="http://sqlblog.com/blogs/jamie_thomson/cid_image005_jpg01CB3F9D_thumb_27698A48.jpg" width=820 height=746&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now take a look at this second screenshot. It shows the same package as before but with one important difference, &lt;FONT face="Courier New"&gt;@[User::FakeFileLocation]&lt;/FONT&gt; has been changed from &lt;STRONG&gt;u:\NonExistentFile&lt;/STRONG&gt; to &lt;STRONG&gt;\\u\NonExistentFile&lt;/STRONG&gt;. Notice in the output that we have some errors because SSIS has attempted to validate that UNC path; it did not attempt to do so before the change.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/cid_image006_jpg01CB3F9D_1DC11C12.jpg"&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=!cid_image006_jpg@01CB3F9D border=0 alt=!cid_image006_jpg@01CB3F9D src="http://sqlblog.com/blogs/jamie_thomson/cid_image006_jpg01CB3F9D_thumb_69AC7CBE.jpg" width=819 height=748&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;One other point of note is that these errors did not cause the package to stop executing however the error will still “bubble-up” to any calling package and will be interpreted as a package failure which is what makes this such a dangerous bug.&lt;/P&gt;
&lt;P&gt;I have submitted the repro to Microsoft at &lt;A href="https://connect.microsoft.com/SQLServer/feedback/details/585479/"&gt;https://connect.microsoft.com/SQLServer/feedback/details/585479/&lt;/A&gt;. No reply as yet.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/A&gt;&lt;/P&gt;&lt;SPAN style="WIDOWS:2;TEXT-TRANSFORM:none;TEXT-INDENT:0px;BORDER-COLLAPSE:separate;FONT:medium 'Times New Roman';WHITE-SPACE:normal;ORPHANS:2;LETTER-SPACING:normal;WORD-SPACING:0px;-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px;-webkit-text-decorations-in-effect:none;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;" class=Apple-style-span&gt;&lt;SPAN style="FONT-FAMILY:Arial, Helvetica, sans-serif;FONT-SIZE:13px;" class=Apple-style-span&gt;
&lt;P&gt;UPDATE: Microsoft have acknowledged the bug and have resolved to fix it in SQL11 (aka SQL Server Denali). See &lt;A href="https://connect.microsoft.com/SQLServer/feedback/details/588412"&gt;here&lt;/A&gt; for the following response:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:Verdana;FONT-SIZE:11px;" class=Apple-style-span&gt;&lt;EM&gt;We believe we found the cause of the problem. One of the system API we use to help resolve path can return different error codes depending on the network configurations and what are available.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY:Verdana;FONT-SIZE:11px;" class=Apple-style-span&gt;&lt;EM&gt;We will fix the bug in Release 11 of SSIS.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description></item></channel></rss>