<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://pragmaticworks.com/community/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>Mike Davis</title><link>http://pragmaticworks.com/community/blogs/mikedavis/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20423.869)</generator><item><title>SSIS For Each Node List Enumerator</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/19/ssis-for-each-node-list-enumerator.aspx</link><pubDate>Fri, 19 Dec 2008 20:11:18 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:268</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=268</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/19/ssis-for-each-node-list-enumerator.aspx#comments</comments><description>&lt;p&gt;If you need to loop through and XML file, or just want to have a loop in an SSIS package loop through a list you have created using a for each nodelist is the task to use. &lt;/p&gt;  &lt;p&gt;First we create a for each loop and set the collection to node list enumerator. Then we set the document source type to file connection and the document source to our XML file. I suggest using a file instead of direct XML because this allows us to update the package externally and prevents us from having to redeploy the package. I have a simple XML file on my C drive I have selected.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="143" alt="image" src="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_thumb_2.png" width="400" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Set the enumeration type to NodeText. Set the OuterXpathStringSourceType to DirectInput and the OuterXpathString to the node we need to find. We could set this to an external file also which would allows us to change this outside the package, for this example we will set it to DiectInput. We also need to place &amp;#8220;//&amp;#8221; in front of the node value. Now the &amp;#8220;for each loop&amp;#8221; will run for each node in the XML file that matches our Outerxpathstring. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_8.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="506" alt="image" src="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_thumb_3.png" width="526" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can then set a variable to capture the node information and use it in our package. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_10.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="507" alt="image" src="http://pragmaticworks.com/community/blogs/mikedavis/WindowsLiveWriter/SSISForEachNodeListEnumerator_D533/image_thumb_4.png" width="529" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It this example we have a list of databases that we could use to dynamically set the connections used in our data flows.&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=268" width="1" height="1"&gt;</description></item><item><title>SSIS For Each ADO Enumerator Loop</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/19/ssis-for-each-ado-enumerator-loop.aspx</link><pubDate>Fri, 19 Dec 2008 16:09:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:266</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=266</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/19/ssis-for-each-ado-enumerator-loop.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;SSIS For Each ADO Enumerator Loop&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;If you need an SSIS package to run an execute SQL task with a where clause and you need to have a parameter in the where clause traverse through a list of values in a table.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;In this example we will find the types of Customers in the Adventure works Customer Table and run a “for each loop” with the where clause targeting each distinct customer type in each iteration of the loop.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;The first task we will create is an execute SQL task that will find the list of account types. The sql statement in this task will look like this: “&lt;/font&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="COLOR:blue;"&gt;distinct&lt;/span&gt; [CustomerType]&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;FROM&lt;/span&gt; [AdventureWorks]&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;[Sales]&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;[Customer]&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;”. We will save this in and object variable called strAccountList with a result set of “full result set”. This is basically a table with one column listing all the account types once.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;img title="ADO" style="WIDTH:578px;HEIGHT:552px;" height="552" alt="ADO" src="http://pragmaticworks.com/MikeDavisBlogImages/AdoBlog/adoblog-1.png" width="578" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Now we will create a for each loop and set the collection to “for each ado enumerator”. We will select the strAccountList in the variable drop down. We can then set a new variable in the loop and call it strCurrentAccountType. This variable can be used throughout the foreach ADO enumerator loop.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;img style="WIDTH:580px;HEIGHT:551px;" height="551" src="http://pragmaticworks.com/MikeDavisBlogImages/AdoBlog/adoblog-2.png" width="580" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;img style="WIDTH:576px;HEIGHT:551px;" height="551" src="http://pragmaticworks.com/MikeDavisBlogImages/AdoBlog/adoblog-3.png" width="576" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;Now we can create another execute sql task in the loop with a where clause like this: “SELECT [AccountNumber]&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;FROM [AdventureWorks].[Sales].[Customer] where [CustomerType] = ?”. The question mark is the parameter. We map the parameter to the stCurrentAccountType variable and now the SSIS package will execute the sql statement for each distinct account type in the table. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;img style="WIDTH:576px;HEIGHT:553px;" height="553" src="http://pragmaticworks.com/MikeDavisBlogImages/AdoBlog/adoblog-4.png" width="576" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Now we get a list of account numbers broken up by customer types that we can pass to a variable and use in our loop.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=266" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/SSRS/default.aspx">SSRS</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/Sql/default.aspx">Sql</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/foreach+ADO+Enumerator/default.aspx">foreach ADO Enumerator</category></item><item><title>Find the Fully qualified NameSpace of SSIS DLL</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/01/find-the-fully-qualified-namespace-of-ssis-dll.aspx</link><pubDate>Mon, 01 Dec 2008 13:38:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:256</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=256</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/12/01/find-the-fully-qualified-namespace-of-ssis-dll.aspx#comments</comments><description>&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;When writing a custom SSIS task the best practice is to create the UI separate from the control. This will allow the task to run faster during package execution. One of the problems people have when creating a custom SSIS task is, knowing the fully qualified namespace of the task to enter into the UITypeName. &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;Example:&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Namespace SendMailAdvancedNS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DtsTask(DisplayName:=&amp;quot;Send Mail Advanced&amp;quot;, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IconResource:=&amp;quot;SendMailAdvancedNS.Letter.ico&amp;quot;, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description:=&amp;quot;Send Mail with Advanced Features&amp;quot;, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UITypeName:=&amp;quot;SendMailAdvancedNS.SendMailAdvancedNS.SendMailAdvancedUI,SendMailAdvancedUI, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=e69ec455025fad04&amp;quot;, _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TaskContact:=&amp;quot;&lt;font color="#0000ff"&gt;Support&amp;nbsp; PragmaticWorks.com&lt;/font&gt; (c) 2008 ;http://www.pragmaticworks.com&amp;quot;)&amp;gt; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public NotInheritable Class SendMailAdvanced&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;The UITypeName can be hard to know if you have little experience creating custom SSIS task. The easiest way to find it is to look in the list of task in business intelligence development studio after you have installed the dll to the GAC.&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;1. Start Business Intelligence Development Studio(BIDS)&lt;br /&gt;2. Open an existing Integrated Services Project or create a blank one&lt;br /&gt;3. Right click on the tool box and select choose item...&lt;br /&gt;4. Select the SSIS control flow Items Tab&lt;br /&gt;5. Scroll down to find the DLL you installed in the GAC, the fully qualified Namespace will be listed in the&amp;nbsp;&amp;quot;Type Name&amp;quot; column&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;In the case above it was SendMailAdvancedNS.SendMailAdvancedNS.SendMailAdvanced, &lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;I was then able to set the UITypeName to SendMailAdvancedNS.SendMailAdvancedNS.SendMailAdvancedUI&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=256" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/programming/default.aspx">programming</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb/default.aspx">vb</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/column+names/default.aspx">column names</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/Sql/default.aspx">Sql</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/Custom+Task/default.aspx">Custom Task</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/SSIS+Custom+Task/default.aspx">SSIS Custom Task</category></item><item><title>Text Qualifier in Column Names</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/10/31/text-qualifier-in-column-names.aspx</link><pubDate>Fri, 31 Oct 2008 12:46:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:228</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=228</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/10/31/text-qualifier-in-column-names.aspx#comments</comments><description>&lt;font face="Calibri"&gt;&lt;font size="3"&gt;If you have a flat file with quotes around the data as text qualifiers you may have seen the issue where the headers has the quotes even after you put the quote in as the text qualifier. This is a simple issue to resolve.&amp;nbsp;If you check the box “Columns names in the first data row”&amp;nbsp;SSIS sets the first row as the metadata for the column names.&lt;/font&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;The problem comes when the data has a text qualifier. The text qualifiers end up in the column names.&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;At this point some people will and check the “Columns names in the first data row” first, and then put in a text qualifier. The problem with that is the text qualifiers end up in the metadata.&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;To fix this, always enter the text qualifier first then check the box for the column headers.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;This will tell SSIS that the text qualifiers are in the first row before it sets that row as the metadata.&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;/font&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=228" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/DTS/default.aspx">DTS</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/programming/default.aspx">programming</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/column+names/default.aspx">column names</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/metadata/default.aspx">metadata</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/flat+files/default.aspx">flat files</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/text+qualifiers/default.aspx">text qualifiers</category></item><item><title>Clear all text boxes with a loop in Tabs</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/25/clear-all-text-boxes-with-a-loop-in-tabs.aspx</link><pubDate>Thu, 25 Sep 2008 16:06:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:218</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=218</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/25/clear-all-text-boxes-with-a-loop-in-tabs.aspx#comments</comments><description>&lt;p&gt;In my last Blog entry I wrote about how to clear all text boxes in a windows form. But what if&amp;nbsp;that form has tabs? Then you will need to set up a loop inside of loop inside of a loop. I know it seems confusing, but it is much better than the alternative of coding every text box name on every tab page into&amp;nbsp;a reset or clear button. Especially if you have hundreds of text boxes. Here is the code to do it.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim x As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For x = 0 To Me.Controls.Count - 1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf Me.Controls.Item(x) Is TextBox Then&lt;br /&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; Me.Controls.Item(x).Text = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf Me.Controls.Item(x) Is TabControl Then&lt;/p&gt;
&lt;p&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; Dim tabControl As TabControl = Me.Controls.Item(x)&lt;br /&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; Dim z As Integer&lt;/p&gt;
&lt;p&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; For z = 0 To tabControl.TabCount() - 1&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp; Dim TabPage As TabPage = tabControl.TabPages(z)&lt;br /&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;&amp;nbsp;&amp;nbsp; Dim y As Integer&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp; For y = 0 To TabPage.Controls.Count - 1&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf TabPage.Controls.Item(y) Is TextBox Then&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TabPage.Controls.Item(y).Text = &amp;quot;&amp;quot;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&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;&amp;nbsp;&amp;nbsp; Next&lt;/p&gt;
&lt;p&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; Next&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/p&gt;
&lt;p&gt;We start out with a loop on the current page controls and clearing any text boxes there, then we detect if the control is&amp;nbsp;a tab control. Then we start a loop inside of that for each tab page. Then a loop in that for each control on the tab page.&amp;nbsp; I created variables with the name of the control to make it easier to read. You can leave this out and just use the name in the precdeing loop but it can get ugly, like:&amp;nbsp; Me.Controls.Item(x).TabPages(z).Controls.Item(y).Text = &amp;quot;&amp;quot;. This would be the end results if we did not you the variables.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You can use this same concept with any container on a form.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=218" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/reset+form/default.aspx">reset form</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/textbox/default.aspx">textbox</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/programming/default.aspx">programming</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb/default.aspx">vb</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/visual+studio/default.aspx">visual studio</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/tab+control/default.aspx">tab control</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/clear+form/default.aspx">clear form</category></item><item><title>Clear or Reset all textbox controls on a VB .net Form</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/19/clear-or-reset-all-textbox-controls-on-a-vb-net-form.aspx</link><pubDate>Fri, 19 Sep 2008 13:36:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:215</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=215</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/19/clear-or-reset-all-textbox-controls-on-a-vb-net-form.aspx#comments</comments><description>&lt;p&gt;When you have a reset button on a vb form and you want that button to clear all of the text box fields, you have two options. Write code for each field to clear them or loop through each control on the form. &lt;/p&gt;
&lt;p&gt;Here is an example of clearing each field individually:&lt;/p&gt;
&lt;p&gt;Private Sub resetForm()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerName.text = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PortNumber.text = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and so on ....&lt;/p&gt;
&lt;p&gt;End Sub&lt;/p&gt;
&lt;p&gt;As you can see this give you complete control of each control individually. But if you have dozens of fields this can be a headache. Also, maintaining this becomes a hassle. Each time you add a control you have to update the resetform method. &lt;/p&gt;
&lt;p&gt;Here is the loop through example:&lt;/p&gt;
&lt;p&gt;Private Sub resetForm()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Set an integer&amp;nbsp;to&amp;nbsp;loop through the controls&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim x As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Set the loop for one less than the count because the fields start their index at 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For x = 0 To Me.Controls.Count - 1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;if it is a&amp;nbsp;text box then clear it&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf Me.Controls.Item(x) Is TextBox Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.Controls.Item(x).Text = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/p&gt;
&lt;p&gt;End Sub&lt;/p&gt;
&lt;p&gt;As you can see, this method never needs to be updated. You can add or remove&amp;nbsp;controls to your form and the method with react accordingly.&lt;/p&gt;
&lt;p&gt;You could also do the same thing for radio buttons, check boxes or any other editable field. You just need a case for each type of control.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Hope this helps someone.&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=215" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/reset+form/default.aspx">reset form</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/textbox/default.aspx">textbox</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/programming/default.aspx">programming</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb/default.aspx">vb</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/visual+studio/default.aspx">visual studio</category></item><item><title>Sql Server 2008 Launch Jacksonville</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/11/sql-server-2008-launch-jacksonville.aspx</link><pubDate>Thu, 11 Sep 2008 21:17:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:210</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=210</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/11/sql-server-2008-launch-jacksonville.aspx#comments</comments><description>&lt;p&gt;I will be speaking at the SQL server 2008 Launch in Jacksonville, FL.&lt;/p&gt;
&lt;p&gt;My sessions are:&lt;/p&gt;
&lt;p&gt;Converting DTS to SSIS&amp;nbsp;:&amp;nbsp;11-Noon&lt;/p&gt;
&lt;p&gt;Reporting Services : 1-2pm&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sqlsaturday.com/eventhome.aspx?eventid=10"&gt;http://www.sqlsaturday.com/eventhome.aspx?eventid=10&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Join us on Friday, September 12, 2008, for a one day look at the new features of SQL Server 2008 as we celebrate the launch of the latest version. Our event will be located at the Modis Building, 1 Independent Dr, Jacksonville, FL. We&amp;#39;ll have 15 sessions on SQL Server that will be announced in the new few days. There is a fee for parking for the event that will range from $5-10 depending on the parking location you select. Breakfast and lunch will be provided by our event sponsors. This event is being coordinated by members of the Jacksonville SQL Server Users Group (www.jssug.com).&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=210" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/remote/default.aspx">remote</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/Sql+Server+2008+Launch/default.aspx">Sql Server 2008 Launch</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/DTS/default.aspx">DTS</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/SSRS/default.aspx">SSRS</category></item><item><title>Converting a string to a time and date </title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/04/converting-a-string-to-a-time-and-date.aspx</link><pubDate>Thu, 04 Sep 2008 12:13:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:205</guid><dc:creator>Mike Davis</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=205</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/09/04/converting-a-string-to-a-time-and-date.aspx#comments</comments><description>&lt;p&gt;We had a customer that had&amp;nbsp;time saved as a string and needed it converted to a date time field. They wanted to combine it with another date field.&amp;nbsp;Here is a simple script to convert in situaions like this in an SSIS transformaion script. By the way some of the time strings were null and some had bogus times in them. After writing it I should have added a check to make sure the time is between 0000 and 2400. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim NewDateTime As Date&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim HourStr As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim MinuteStr As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;validate time is not null &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not (Row.NATIME_IsNull) Then&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Validate&amp;nbsp; time is a 4 digit number&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNumeric(Row.NATIME) And Row.NATIME.ToString.Length = 4 Then&lt;/p&gt;
&lt;p&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;#39; break time into hours and minutes&lt;br /&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; HourStr = Row.NATIME.Substring(0, 2)&lt;br /&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; MinuteStr = Row.NATIME.Substring(2, 2)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else &amp;#39; iff time is not a 4 digit number&lt;br /&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; HourStr = &amp;quot;00&amp;quot;&lt;br /&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; MinuteStr = &amp;quot;00&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else &amp;#39; if time is null&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HourStr = &amp;quot;00&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinuteStr = &amp;quot;00&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;combine date and time &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewDateTime = CDate(CStr(DateSerial(Year(Row.Date), Month(Row.Date), DatePart(&amp;quot;d&amp;quot;, Row.Date))) + &amp;quot; &amp;quot; + _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CStr(TimeSerial(CInt(HourStr), CInt(MinuteStr), 0)))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;output row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Row.NewDateTime = NewDateTime&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/p&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=205" width="1" height="1"&gt;</description><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category></item><item><title>Launch Remote SSIS Package Programmatically</title><link>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/08/20/launch-remote-ssis-package-programmatically.aspx</link><pubDate>Wed, 20 Aug 2008 13:15:00 GMT</pubDate><guid isPermaLink="false">d28dd3a6-d986-4c00-9605-a26e19dff7bb:193</guid><dc:creator>Mike Davis</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pragmaticworks.com/community/blogs/mikedavis/rsscomments.aspx?PostID=193</wfw:commentRss><comments>http://pragmaticworks.com/community/blogs/mikedavis/archive/2008/08/20/launch-remote-ssis-package-programmatically.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;It can be a pain to launch an SSIS package remotely. So I developed a vb.net standalone application to remotely launch a package. It does require the host computer to have SSIS installed. This is just a beginning program. I am going to be adding other features like variables and config files. Eventually it will allow you to run the package remotely where the package will run on the remote machine. But this will probably require creating a web service. &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Please leave comments, this is my first blog and my first program I have posted online.&lt;/font&gt;&lt;/p&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Thanks&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Mike Davis&lt;/font&gt;&lt;/p&gt;&lt;font face="Calibri" size="3"&gt;The source code is attached&lt;/font&gt;&lt;img src="http://pragmaticworks.com/community/aggbug.aspx?PostID=193" width="1" height="1"&gt;</description><enclosure url="http://pragmaticworks.com/community/blogs/mikedavis/attachment/193.ashx" length="130005" type="application/x-zip-compressed" /><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/ssis/default.aspx">ssis</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/remote/default.aspx">remote</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/integrated+services/default.aspx">integrated services</category><category domain="http://pragmaticworks.com/community/blogs/mikedavis/archive/tags/sql+server/default.aspx">sql server</category></item></channel></rss>