<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Official CozyRoc Blog &#187; Tips</title>
	<atom:link href="http://cozyroc.wordpress.com/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://cozyroc.wordpress.com</link>
	<description>Adventures in the world of BI and data warehouse</description>
	<lastBuildDate>Mon, 26 Oct 2009 18:34:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='cozyroc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ba135b259ade62d0369f5051f4e8d261?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Official CozyRoc Blog &#187; Tips</title>
		<link>http://cozyroc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://cozyroc.wordpress.com/osd.xml" title="Official CozyRoc Blog" />
		<item>
		<title>FTP over SSL in SSIS</title>
		<link>http://cozyroc.wordpress.com/2007/12/21/ftp-over-ssl-in-ssis/</link>
		<comments>http://cozyroc.wordpress.com/2007/12/21/ftp-over-ssl-in-ssis/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 14:15:05 +0000</pubDate>
		<dc:creator>cozyroc</dc:creator>
				<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://cozyroc.wordpress.com/2007/12/21/ftp-over-ssl-in-ssis/</guid>
		<description><![CDATA[We have implemented SSIS script task sample demonstrating FTP over SSL operations. It depends on FtpWebRequest for FTPS support and Script Task Plus for UI implementation. You may check it here.   
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=29&subd=cozyroc&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We have implemented SSIS script task sample demonstrating FTP over SSL operations. It depends on <a href="http://msdn2.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx" target="_blank">FtpWebRequest</a> for FTPS support and <a href="http://www.cozyroc.com/support/ssis_scriptinitview.html" target="_blank">Script Task Plus</a> for UI implementation. You may check it <a href="http://www.cozyroc.com/scripts/show/FTPSTask" target="_blank">here</a>. <b>  </b></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/cozyroc.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/cozyroc.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cozyroc.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cozyroc.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cozyroc.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cozyroc.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cozyroc.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cozyroc.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cozyroc.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cozyroc.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cozyroc.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cozyroc.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=29&subd=cozyroc&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://cozyroc.wordpress.com/2007/12/21/ftp-over-ssl-in-ssis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba7d3fc80299bb566bb3a8e7876572c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cozyroc</media:title>
		</media:content>
	</item>
		<item>
		<title>Implementing custom SSIS Control Flow Task in C++</title>
		<link>http://cozyroc.wordpress.com/2007/11/13/implementing-custom-ssis-control-flow-task-in-c/</link>
		<comments>http://cozyroc.wordpress.com/2007/11/13/implementing-custom-ssis-control-flow-task-in-c/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 04:41:56 +0000</pubDate>
		<dc:creator>cozyroc</dc:creator>
				<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://cozyroc.wordpress.com/2007/11/13/implementing-custom-ssis-control-flow-task-in-c/</guid>
		<description><![CDATA[This topic is a work in progress. It will stay this way until Microsoft SSIS product team decides to document their native interfaces for third-parties to use. If you want to develop custom SSIS task in C++, you have to load yourself with patience and be ready to spend some time in the debugger and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=27&subd=cozyroc&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This topic is a work in progress. It will <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2403845&amp;SiteID=1&amp;mode=1" target="_blank">stay</a> this way until Microsoft SSIS product team decides to document their native interfaces for third-parties to use. If you want to develop custom SSIS task in C++, you have to load yourself with patience and be ready to spend some time in the debugger and with <a href="http://www.aisto.com/roeder/dotnet/" target="_blank">Reflector</a>. The undocumented native interfaces for implementing SSIS Control Flow Task can be found by opening the COM type library information in the <strong>DTS.dll</strong> library. The following interfaces represent roughly  the base class <a href="http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.task.aspx" target="_blank">Task</a> from which all custom SSIS task must inherit:</p>
<ul>
<li><a href="http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.wrapper.idtstaskinit90.aspx" target="_blank">IDTSTaskInit90</a></li>
<li><a href="http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.wrapper.idtstask90.aspx" target="_blank">IDTSTask90</a></li>
<li><a href="http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.wrapper.idtsobjectversionupdate90.aspx" target="_blank">IDTSObjectVersionUpdate90</a></li>
</ul>
<p>There is one more interface <a href="http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.wrapper.idtscomponentpersist90.aspx" target="_blank">IDTSComponentPersist90</a>, which has to be implemented for serializing your task. After you are done implementing these four interfaces, you have to make your task visible to the SSIS framework. This is done by including additional information in the registry for your COM object. The additional registry keys under the specific task CLSID are:</p>
<ul>
<li><strong>DefaultIcon</strong> &#8211; Must point to an icon resource located in your DLL. Should have the format &lt;your library&gt;.dll,0 where 0 is my guess the index of the icon resource.</li>
<li><strong>Programmable</strong> &#8211; I&#8217;m not sure if this is mandatory, but I saw other stock SSIS tasks using it.</li>
<li><strong>Implemented Categories</strong> &#8211; Should contain <strong>{CD0DB111-958E-440D-9111-7D70D1490063}</strong> subkey. Categorizes your COM object as SSIS task?</li>
<li><strong>DTSInfo</strong> &#8211; Various additional SSIS task metadata.
<ul>
<li><strong>Description</strong> &#8211; task description.</li>
<li><strong>ResourceFile</strong> &#8211; string resources containing additional task descriptions. Should have the format &lt;your library&gt;,10,20 where 10, 20 are string resource ids.</li>
<li><strong>TaskContact</strong> &#8211; information describing where the SSIS originated from, copyright info, etc.</li>
<li><strong>TaskType</strong> &#8211; Describes task compatibility. For SQL 2005, it should say <strong>DTS90</strong>.</li>
<li><strong>UITypeName</strong> &#8211; Task user interface type reference.</li>
</ul>
</li>
</ul>
<p>After you compile and open an SSIS package, you should be able to browse and find your custom SSIS Control Flow Task listed.</p>
<p>p.s.</p>
<p>We haven&#8217;t spent time yet developing custom SSIS Data Flow Components, but you may check the type library in the <strong>DTSPipeline.dll</strong> library.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/cozyroc.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/cozyroc.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cozyroc.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cozyroc.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cozyroc.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cozyroc.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cozyroc.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cozyroc.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cozyroc.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cozyroc.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cozyroc.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cozyroc.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=27&subd=cozyroc&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://cozyroc.wordpress.com/2007/11/13/implementing-custom-ssis-control-flow-task-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba7d3fc80299bb566bb3a8e7876572c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cozyroc</media:title>
		</media:content>
	</item>
		<item>
		<title>SSIS project (dtsx) serialization hack</title>
		<link>http://cozyroc.wordpress.com/2007/07/02/ssis-project-dtsx-serialization-hack/</link>
		<comments>http://cozyroc.wordpress.com/2007/07/02/ssis-project-dtsx-serialization-hack/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 20:13:17 +0000</pubDate>
		<dc:creator>cozyroc</dc:creator>
				<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://cozyroc.wordpress.com/2007/07/02/ssis-project-dtsx-serialization-hack/</guid>
		<description><![CDATA[If you are interested in SSIS project deserialization, here is a brief summary of the steps you need to follow to install your own deserialization routines (please have Reflector in hand because most of the details below are undocumented):
1. Make sure you have reference to the following libraries:

Microsoft.DataTransformationServices.Design.DLL
Microsoft.DataWarehouse.VsIntegration.dll
Microsoft.DataWarehouse.DLL

3. Install handler for application.Events.SelectionEvents::OnChange event.
4.  Check [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=8&subd=cozyroc&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you are interested in SSIS project deserialization, here is a brief summary of the steps you need to follow to install your own deserialization routines (please have <a href="http://www.aisto.com/roeder/dotnet/">Reflector</a> in hand because most of the details below are undocumented):</p>
<p>1. Make sure you have reference to the following libraries:</p>
<ul>
<li>Microsoft.DataTransformationServices.Design.DLL</li>
<li>Microsoft.DataWarehouse.VsIntegration.dll</li>
<li>Microsoft.DataWarehouse.DLL</li>
</ul>
<p>3. Install handler for <strong>application.Events.SelectionEvents::OnChange</strong> event.<br />
4.  Check selected item is of type <strong>ProjectExt</strong>.<br />
5. Install your own <strong>ISettingsService</strong> service provider class. You can get access to the service container and current <strong>ISettingsService</strong> service provider with the following code:</p>
<pre>
Hierarchy projHierarchy = project.GetType().InvokeMember(
   "ProjectHierarchy",
   BindingFlags.GetProperty | BindingFlags.NonPublic | BindingFlags.Instance,
   null,
   project,
   new object[] { } ) as Hierarchy;
IServiceContainer serviceContainer = (IServiceContainer)projHierarchy.GetService(
   typeof( IServiceContainer ) );
ISettingsService ssOld = (ISettingsService)serviceContainer.GetService(
   typeof( ISettingsService ) );</pre>
<p>6. Override <strong>ISettingsService::GetSetting</strong> method and check:</p>
<ul>
<li><strong>settingContext</strong> is &#8220;Serialization\SerializableComponents&#8221;</li>
<li><strong>scope</strong> is SettingsScope.Machine</li>
<li><strong>settingName</strong> is &#8220;dtsx&#8221;</li>
</ul>
<p>If you have a match, you have to return a type to a dummy class whose only purpose is to provide attributes, used by the infrastructure internally. The default implementation is called <strong>PseudoPackage</strong>.  Attribute your new dummy class with <strong>DesignerSerializer</strong> attribute and parametrize it with your own serialization class. It has to inherit from <strong>DtrDesignerSerializer</strong> class.</p>
<p>7. Override <strong>DeserializeComponent</strong> and <strong>SerializeComponent</strong>. These are the methods, which will be called for each SSIS project task during serialization. Voila! Now you are the master of the universe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/cozyroc.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/cozyroc.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cozyroc.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cozyroc.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cozyroc.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cozyroc.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cozyroc.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cozyroc.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cozyroc.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cozyroc.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cozyroc.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cozyroc.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cozyroc.wordpress.com&blog=607395&post=8&subd=cozyroc&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://cozyroc.wordpress.com/2007/07/02/ssis-project-dtsx-serialization-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba7d3fc80299bb566bb3a8e7876572c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cozyroc</media:title>
		</media:content>
	</item>
	</channel>
</rss>