<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://beyondrelational.com/live/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 tag 'Dynamic File Connection'</title><link>http://beyondrelational.com/live/search/SearchResults.aspx?a=1&amp;o=DateDescending&amp;tag=Dynamic+File+Connection&amp;orTags=0</link><description>Search results matching tag 'Dynamic File Connection'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Loop through each record in a text file : Recordset Destination</title><link>http://beyondrelational.com/live/blogs/sudeep/archive/2010/09/08/loop-through-each-record-in-a-text-file-recordset-destination.aspx</link><pubDate>Wed, 08 Sep 2010 19:43:00 GMT</pubDate><guid isPermaLink="false">6e5011fa-7db5-4df3-bb79-9085c1d333b3:8877</guid><dc:creator>sudeep</dc:creator><description>&lt;p&gt;In most ETL we use Foreach loop to iterate through each file in a folder or records fetched from a table. Now the question arises how do we use Foreach loop based on each record in a text file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;Scenario&lt;/span&gt;&lt;/strong&gt;: We have a text file having 2 columns, one containing source file relative path and 2nd column having the destination file relative path. The objective is to fetch each file from the source folder that are there in the our text file and move them to destination based on the connections available in the text file on the same record.&lt;/p&gt;
&lt;h3&gt;Caution: Do NOT use this method to read each record in the file if it caontain data and try to emulate a cursor. Use a data flow task instead.&lt;/h3&gt;
&lt;p&gt;File Layout:&lt;/p&gt;
&lt;p&gt;InputFilePath,OutputFilePath &lt;br /&gt;\Input\Input1.txt,Output\Output1.txt &lt;br /&gt;\Input\Input2.txt,Output\Output2.txt &lt;br /&gt;\Input\Input3.txt,Output\Output3.txt&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;The overall package:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/Package.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/Package.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first Data Flow Task(DFT) uses a Flat File &lt;span style="color:#333333;"&gt;Source to read the data&lt;/span&gt; and send it to an object type user variable. The Foreach loop consumes this object variable and iterates through each record in the object variable. In the foreach loop the variable are mapped to 2 string user variables one to store the source file relative path and the other to store the Destination file relative path. At the end of the package execution all the files mentioned in the 1st column of the text file needs to be moved to the destination based on the 2nd column value.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#f79646;"&gt;&lt;strong&gt;Variables used in the package:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10.1pt;color:#000000;"&gt;&lt;strong&gt;obj&lt;/strong&gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object type variable to store the records from the text file as an object.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;strBaseFolder&lt;/strong&gt;: The base folder where all the other files and folder reside.(not necessary to have this inn case the source and destination locations are in different place)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;strInputFile:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;Store the relative file path of the source file. Details will be discussed when I talk about the Foreach Loop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;strOutputFile:&amp;nbsp;&amp;nbsp; &lt;/strong&gt;Store the relative file path of the destination file. Details will be discussed when I talk about the Foreach Loop.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/variables.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/variables.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#f79646;"&gt;&lt;strong&gt;Connections used in the package:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10.1pt;color:#000000;"&gt;All the connection used are Flat File Connections&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10.1pt;color:#000000;"&gt;&lt;strong&gt;Connections:&lt;/strong&gt; It provides the connection to connect to the flat file having all the connections. The connection string is set by the expression &lt;strong&gt;&lt;span style="color:#c0504d;"&gt;@[User::strBaseFolder] + &amp;ldquo;\\Connections.txt&amp;rdquo;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10.1pt;color:#000000;"&gt;&lt;strong&gt;Input:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;It provides the connection to the input file which needs to be moved to the output file. The connection string is set by the expression &lt;strong&gt;&lt;span style="color:#c0504d;"&gt;@[User::strBaseFolder] + &amp;quot;\\&amp;quot; +&amp;nbsp; @[User::strInputFile]&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10.1pt;color:#000000;"&gt;&lt;strong&gt;Output:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;It provides the connection for the destination file. The connection string is set by the expression &lt;strong&gt;&lt;span style="color:#c0504d;"&gt;@[User::strBaseFolder] + &amp;quot;\\&amp;quot; +&amp;nbsp; @[User::strOutputFile]&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/connections.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/connections.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#f79646;"&gt;&lt;strong&gt;DFT1 settings:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/DFT.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/DFT.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the Flat file source we use a connection to read the text file as a comma separated file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#ff0000;background-color:#cccccc;"&gt;Recordset Destination:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Component Properties tab&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/recordset1.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/recordset1.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="color:#ffffff;background-color:#666666;"&gt;Note: The variable obj is a user variable of object type.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In the Input Properties tab only check the columns you wish to sent to the object variable.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/recordset2.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/recordset2.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No need to make any changes in the 3rd tab &amp;ldquo;Input and output properties&amp;rdquo;. We now have the obj variable which can be used in the foreach loop to iterate through each record.&lt;/strong&gt; The remaining logic is same as applied to any other foreach loop.&lt;/p&gt;
&lt;p&gt;Now we come to the &lt;strong&gt;&lt;span style="color:#f79646;"&gt;Foreach loop&lt;/span&gt;&lt;/strong&gt; and set it up. Set the enumerator to &amp;ldquo;&amp;quot;Foreach ADO Enumerator&amp;rdquo;. Select the ADO obj Source variable from the drop down box and set it to &amp;ldquo;User::obj&amp;rdquo; variable. The Enumerator mode is set to default &amp;ldquo;Rows in first table&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/FEL1.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/FEL1.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We now need to read the value present in each row and assign it to string variables to be consumed later. Add the user variables by selecting them from the drop down list the user variables. Set the index to 0 for the first column data and index to 2 for the 2nd column variable.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/FEL2.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/FEL2.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the DFT 2 we have a flat file source and a flat file destination. I have used no transforms in this scenario which you could include as per your requirement.&lt;/p&gt;
&lt;p&gt;The Flat file source uses the connection &amp;ldquo;&lt;strong&gt;Input&lt;/strong&gt;&amp;rdquo; while the destination uses the connection &amp;ldquo;&lt;strong&gt;Output&lt;/strong&gt;&amp;rdquo;mentioned earlier.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/DFT2.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/DFT2.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The package is ready for execution.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/Package-run.png"&gt;&lt;img border="0" src="http://beyondrelational.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/Package-run.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have uploaded the package &lt;a target="_blank" href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozZWY5Njg3MjEtZDYwMS00NjdhLTkzOTEtYThhMzQ2MTRiODQ4&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;&lt;strong&gt;Recordset&lt;/strong&gt;&lt;/a&gt; for you reference.&lt;/p&gt;</description></item><item><title>SSIS - Sample SSIS Packages</title><link>http://beyondrelational.com/live/blogs/sudeep/archive/2010/02/15/sample-ssis-packages.aspx</link><pubDate>Tue, 16 Feb 2010 04:32:00 GMT</pubDate><guid isPermaLink="false">6e5011fa-7db5-4df3-bb79-9085c1d333b3:4637</guid><dc:creator>sudeep</dc:creator><description>&lt;p&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;I am uploading a few sample packages that you could use and modify as per your requirement. Let me know if you need any specific sample or any change in these packages.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt; &lt;strong&gt;&lt;span style="font-size:small;"&gt;&lt;a target="_blank" href="http://beyondrelational.com/blogs/sudeep/archive/2010/11/24/ssis-script-component-split-single-row-to-multiple-rows.aspx"&gt;SSIS - Script Component, Split single row to multiple rows&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;Scenario:&lt;/span&gt;&lt;/strong&gt;&lt;/strong&gt; We have a text file and we need to read each row and the output would have multiple rows per row in the input file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;Input File:&lt;/span&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="brush: plain"&gt;&amp;quot;201001&amp;quot;,&amp;quot;1;3&amp;quot;
&amp;quot;201002&amp;quot;,&amp;quot;1;2;3;4&amp;quot;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;Expected Output:&lt;/span&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;pre class="brush: plain"&gt;2010-01-01	01
2010-01-03	03
2010-02-01	01
2010-02-02	02
2010-02-03	03
2010-02-04	04&lt;/pre&gt;
&lt;p&gt;
&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;a target="_blank" href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozYjQxYWE4NjMtOTBlYy00ZjJkLWI1N2UtYTgwZjFkYmJmZDE5&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;Package download&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;&lt;a target="_blank" href="http://beyondrelational.com/blogs/sudeep/archive/2010/03/14/dynamically-set-flat-file-connection-manager.aspx"&gt;SSIS&amp;ndash;Dynamically set File Mask : FileSpec&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the SSIS Forum I cams across the following query and thought of writing a post on the same.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Can anyone give guidance on how to set the mask for a Foreach File Enumerator programmatically? I have a DB that has a list of masks. I am retrieving that into an ADO recordset. For each record I retrieve the value into a variable. I would like to look at a directory and copy all files that begin with the chars for each item in my recordset variable.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The solution I provide uses a Flat File to store the various file mask in stead of a Table as required in the above case.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;a target="_blank" href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozYmRhYTFkZjItMjc4MS00NjRkLWJkYzMtNmUxNjdiYTFiYmQy&amp;amp;hl=en"&gt;Package download&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;a href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozZWY5Njg3MjEtZDYwMS00NjdhLTkzOTEtYThhMzQ2MTRiODQ4&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Loop through each record in a text file : Recordset Destination&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;In most ETL we use Foreach loop to iterate through each file in a folder or records fetched from a table. Now the question arises how do we use Foreach loop based on each record in a text file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;Scenario&lt;/span&gt;&lt;/strong&gt;: We have a text file having 2 columns, one containing source file relative path and 2nd column having the destination file relative path. The objective is to fetch each file from the source folder that are there in the our text file and move them to destination based on the connections available in the text file on the same record.&lt;/p&gt;
&lt;p&gt;File Layout:&lt;/p&gt;
&lt;p&gt;InputFilePath,OutputFilePath 
  &lt;br /&gt;\Input\Input1.txt,Output\Output1.txt 
  &lt;br /&gt;\Input\Input2.txt,Output\Output2.txt 
  &lt;br /&gt;\Input\Input3.txt,Output\Output3.txt&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:#f79646;"&gt;The overall package:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;img height="221" width="244" src="http://beyondrelational.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sudeep/Package_5F00_thumb2_5F00_38E52DBE.png" alt="Package_thumb2" border="0" title="Package_thumb2" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first Data Flow Task(DFT) uses a Flat File &lt;span style="color:#333333;"&gt;Source to read the data&lt;/span&gt; and send it to an object type user variable using Recordset Destination.&lt;/p&gt;
&lt;p&gt;For detailed description c&lt;a target="_blank" href="http://beyondrelational.com/controlpanel/blogs/posteditor.aspx/Loop%20through%20each%20record%20in%20a%20text%20file%20:%20Recordset%20Destination"&gt;ontinue&lt;/a&gt;&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://docs.google.com/leaf?id=0B2Xid3EEt_ozYmJmMTc1NTQtMDA1Ny00NDkwLWEzYjEtMGI5YjQ1ZDQ4ZjA5&amp;amp;hl=en"&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;DynamicFileConnection.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This package shows an example where the file connection is changed dynamically based on inputs from the database table. This package includes Execute SQL Task, Foreach Loop with ADO Enumerator, Data Flow Task including Flat File Connection Manager, Derived Column for date transformation, OLEDB Destination and Flat File destination for error records. For step by step description check this &lt;a href="http://rajsudeep.blogspot.com/2009/11/dynamic-file-handling-and-formatting.html"&gt;post&lt;/a&gt;.&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;/span&gt;&lt;a href="http://docs.google.com/leaf?id=0B2Xid3EEt_ozMDNmYTg0YTctMWI2Ni00NThhLWFkOTMtY2Y2Njk1YTYwMmRh&amp;amp;hl=en"&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;DeleteFiles.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This package picks files from folder and deletes files based on the file name. It makes use of Foreach Loop, dummy Script Task, Precedence Constraint and File System Task.&lt;/span&gt; For more details on this package check my &lt;a target="_blank" href="http://beyondrelational.com/blogs/sudeep/archive/2010/04/07/ssis-delete-files-in-a-folder-older-than-a-specified-number-of-days.aspx"&gt;blog&lt;/a&gt;. 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;a href="http://docs.google.com/leaf?id=0B2Xid3EEt_ozYjYyOTk4YzQtODY0NC00MzU4LThhMDAtZDU3NjdhOTZmOWM3&amp;amp;hl=en"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;RemoveDuplicates.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This is a simple package where I just show how we remove duplicates from the records and perform lookup with no caching. This package includes Sort Transform, Lookup Transform, Flat File Source and OLEDB Destination.&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;a href="http://docs.google.com/leaf?id=0B2Xid3EEt_ozNTBkNGNiZjItMjg2ZS00MDMwLTg4NDEtMDM3NmFhN2I1ZDhh&amp;amp;hl=en"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;QueryFromFile.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This package executes a set of queries kept in a folder using For Each Loop and Execute SQL Task &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozNzhkNmRjNzEtMWE4MC00ZDg1LWEzMDAtOTdkNTU5ZjdhYTZj&amp;amp;hl=en"&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;strong&gt;SQLXMLtoFile.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This package takes a XML stream from Execute SQL task as output and uploads the file to a XML File. The SQL Query could be of any form like:&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt; * &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt; Table1 &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;FOR XML Auto&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;&lt;span style="font-size:small;"&gt;or&lt;/span&gt;&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt; * &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt; Table1 &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;FOR XML&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-size:small;"&gt;PATH&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;Test&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;)&lt;/span&gt;&lt;/span&gt; 
  &lt;br /&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;strong&gt;
      &lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;a href="https://docs.google.com/leaf?id=0B2Xid3EEt_ozZmRlZWVmYjctOGI2Ny00YTY5LWE0YzAtMGQ5MzA5MWRiOGIz&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;DeleteOldestFile.dtsx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt; &lt;/strong&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;This package will delete the oldest file from a given folder. The filename is of the format File_MMDDYYYY.txt. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;
    &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align:center;"&gt;&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;strong&gt;&lt;a href="http://docs.google.com/leaf?id=0B2Xid3EEt_ozNDMzZTg3NjItYzkyNi00MjE5LWI0ZjgtYzc5NGViZGQ0ZGRh&amp;amp;hl=en"&gt;&lt;span style="background-color:orange;"&gt;&lt;span style="color:white;"&gt;All the Packages&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family:&amp;#39;Trebuchet MS&amp;#39;, sans-serif;"&gt;&lt;strong&gt;
      &lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;</description></item></channel></rss>