<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Return to LifeAsBob - SQL Server | SSIS</title>
    <link>http://www.lifeasbob.com/</link>
    <description>Horkay Blog</description>
    <language>en-us</language>
    <copyright>Robert J. Horkay</copyright>
    <lastBuildDate>Wed, 04 Nov 2009 21:30:59 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>bobh@lifeasbob.com</managingEditor>
    <webMaster>bobh@lifeasbob.com</webMaster>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=a4fc85e9-14af-403e-acc7-d4c621d11154</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,a4fc85e9-14af-403e-acc7-d4c621d11154.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,a4fc85e9-14af-403e-acc7-d4c621d11154.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a4fc85e9-14af-403e-acc7-d4c621d11154</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://www.lifeasbob.com/content/binary/moneyroll.jpg" border="0" />
        </p>
        <p>
Don't expect your queries to be in order without a select statement, guess what same
goes for SSIS!
</p>
        <p>
Today I had to trouble-shoot a package (not developed by me or our SQL DBA Group),
but regardless, it becomes our problem !
</p>
        <p>
SSIS was exporting a table to a flat file, turns out this flat file is really an XML
File.  The table is populated with XML from a stored procedure prior to the export. 
The data pump ole db source was a table, turns out it's not always in order, resulting
in malformed XML.  Change the source from table to a select statement with an
order by clause and all is working well, fortunately there was a rowid (identity)
column in the table already.
</p>
        <p>
Frustruating to the end user, as it was a package that had been working fine for months.
</p>
        <p>
Of course there was no primary key, making this a heap table; but either way, if the
requirement is to have the data ordered, than you need an order by statement, even
if the data is "in the table that way", and even for SSIS.  [Be nice if Microsoft
put a warning on there that the data access mode may not be in order.]
</p>
        <p>
This seems to be more of a problem on heap tables (no primay key) and Enterprise edition
sql (which supports Merry-go-round scans [i think that's what it's called]).
</p>
        <p>
          <img src="http://www.lifeasbob.com/content/binary/ssis_table_dump.jpg" border="0" />
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a4fc85e9-14af-403e-acc7-d4c621d11154" />
      </body>
      <title>Table dump in SSIS, not in order</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,a4fc85e9-14af-403e-acc7-d4c621d11154.aspx</guid>
      <link>http://www.lifeasbob.com/2009/11/04/TableDumpInSSISNotInOrder.aspx</link>
      <pubDate>Wed, 04 Nov 2009 21:30:59 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/moneyroll.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Don't expect your queries to be in order without a select statement, guess what same
goes for SSIS!
&lt;/p&gt;
&lt;p&gt;
Today I had to trouble-shoot a package (not developed by me or our SQL DBA Group),
but regardless, it becomes our problem !
&lt;/p&gt;
&lt;p&gt;
SSIS was exporting a table to a flat file, turns out this flat file is really an XML
File.&amp;nbsp; The table is populated with XML from a stored procedure prior to the export.&amp;nbsp;
The data pump ole db source was a table, turns out it's not always in order, resulting
in malformed XML.&amp;nbsp; Change the source from table to a select statement with an
order by clause and all is working well, fortunately there was a rowid (identity)
column in the table already.
&lt;/p&gt;
&lt;p&gt;
Frustruating to the end user, as it was a package that had been working fine for months.
&lt;/p&gt;
&lt;p&gt;
Of course there was no primary key, making this a heap table; but either way, if the
requirement is to have the data ordered, than you need an order by statement, even
if the data is "in the table that way", and even for SSIS.&amp;nbsp; [Be nice if Microsoft
put a warning on there that the data access mode may not be in order.]
&lt;/p&gt;
&lt;p&gt;
This seems to be more of a problem on heap tables (no primay key) and Enterprise edition
sql (which supports Merry-go-round scans [i think that's what it's called]).
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/ssis_table_dump.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a4fc85e9-14af-403e-acc7-d4c621d11154" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,a4fc85e9-14af-403e-acc7-d4c621d11154.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=f879e08c-d9cb-427e-9289-402cb704ff73</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,f879e08c-d9cb-427e-9289-402cb704ff73.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,f879e08c-d9cb-427e-9289-402cb704ff73.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f879e08c-d9cb-427e-9289-402cb704ff73</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The patching game.
</p>
        <img src="http://www.lifeasbob.com/content/binary/PetePuma.jpg" border="0" />
        <p>
Better give me a whole lotta lumps..... 
</p>
        <p>
Last week Microsoft released a patch for a SQL Server Security vulnerability. 
This week Microsoft released SQL Server 2005 CU 6 (which includes the security patch
and some other fixes).
</p>
        <p>
Test those "other fixes" carefully.
</p>
        <p>
We just ran into a change in behavior for how SSIS evaluated variables that are passed
into Execute SQL Tasks as parameters, Not sure exactly which patch introduced the
change as they are cumulative and we were running CU 2 previously, so anything from
CU 3 on up could have been the cause.
</p>
        <p>
We were running on version 9.00.4211, which is SQL 2K5, SP3 CU2.  We upgraded
to the Security Fix (9.00.4262), and the SSIS package broke.  Hoping not to have
to trouble shoot the issue and needing to be on CU 6 anyway, we applied it, hoping
it would fix the issue...no luck, time to trouble shoot.
</p>
        <p>
The issue is really one of poor coding practice.
</p>
        <p>
There are some variables passed into an execute sql task to dynamically create a where
clause.  
</p>
        <p>
The variable in question was declared as an Integer
</p>
        <p>
          <img src="http://www.lifeasbob.com/content/binary/ssis_variable.jpg" border="0" />
        </p>
        <p>
The variable was than passed into the execute sql task, but it was of a varchar type,
below is the corrected parameter mapped as a numeric.
</p>
        <img src="http://www.lifeasbob.com/content/binary/SQL_Task_Parameter_Mapping.jpg" border="0" />
        <p>
The execute sql task is shown here, the parameter is the first one evaluated with
the if "? &lt;&gt; 2".
</p>
        <img src="http://www.lifeasbob.com/content/binary/ssis_dyanmic_query.jpg" border="0" />
        <p>
This execute sql task passed the parameter in is as '', blank, if the parameter mapping
was not set properly.  I confirmed this behavior behind the scenes with a profiler
trace as well.  Interestingly even with the parameter mapped properly as numeric,
it is still passed into sql server as a varchar !  But with the parameter mapped
as numeric, the varchar is properly populated with value of the variable being passed
in and the statement completes successfully.
</p>
        <img src="http://www.lifeasbob.com/content/binary/profiler_trace.jpg" border="0" />
        <p>
Test those SQL Server patches carefully, there is always the off chance of unintended
behavior change.  Ultimately it was "sloppy coding" to be passing an integer
variable in ssis, to a parameter mapped as varchar.  But it has been running
that way for 14-16 months without issue.
</p>
        <p>
Test carefully.
</p>
        <p>
9.00.4211.00 - 2005 SP3 CU 2<br />
9.00.4262.00 - QFE Security Fix<br />
9.00.4266.00 - 2005 sp3 cu 6
</p>
        <p>
In response on where to get sp3 cu 6:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <a href="http://support.microsoft.com/kb/974648/en-us">
          <u>
            <font color="#0000ff" size="2">
              <font color="#0000ff" size="2">http://support.microsoft.com/kb/974648/en-us
</font>
            </font>
          </u>
        </a>
        <p>
          <br />
 
</p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=f879e08c-d9cb-427e-9289-402cb704ff73" />
      </body>
      <title>The patching game.</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,f879e08c-d9cb-427e-9289-402cb704ff73.aspx</guid>
      <link>http://www.lifeasbob.com/2009/10/23/ThePatchingGame.aspx</link>
      <pubDate>Fri, 23 Oct 2009 14:04:41 GMT</pubDate>
      <description>&lt;p&gt;
The patching game.
&lt;/p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/PetePuma.jpg" border=0&gt; 
&lt;p&gt;
Better give me a whole lotta lumps..... 
&lt;/p&gt;
&lt;p&gt;
Last week Microsoft released a patch for a SQL Server Security vulnerability.&amp;nbsp;
This week Microsoft released SQL Server 2005 CU 6 (which includes the security patch
and some other fixes).
&lt;/p&gt;
&lt;p&gt;
Test those "other fixes" carefully.
&lt;/p&gt;
&lt;p&gt;
We just ran into a change in behavior for how SSIS evaluated variables that are passed
into Execute SQL Tasks as parameters, Not sure exactly which patch introduced the
change as they are cumulative and we were running CU 2 previously, so anything from
CU 3 on up could have been the cause.
&lt;/p&gt;
&lt;p&gt;
We were running on version 9.00.4211, which is SQL 2K5, SP3 CU2.&amp;nbsp; We upgraded
to the Security Fix (9.00.4262), and the SSIS package broke.&amp;nbsp; Hoping not to have
to trouble shoot the issue and needing to be on CU 6 anyway, we applied it, hoping
it would fix the issue...no luck, time to trouble shoot.
&lt;/p&gt;
&lt;p&gt;
The issue is really one of poor coding practice.
&lt;/p&gt;
&lt;p&gt;
There are some variables passed into an execute sql task to dynamically create a where
clause.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The variable in question was declared as an Integer
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/ssis_variable.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The variable was than passed into the execute sql task, but it was of a varchar type,
below is the corrected parameter mapped as a numeric.
&lt;/p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/SQL_Task_Parameter_Mapping.jpg" border=0&gt; 
&lt;p&gt;
The execute sql task is shown here, the parameter is the first one evaluated with
the if "? &amp;lt;&amp;gt; 2".
&lt;/p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/ssis_dyanmic_query.jpg" border=0&gt; 
&lt;p&gt;
This execute sql task passed the parameter in is as '', blank, if the parameter mapping
was not set properly.&amp;nbsp; I confirmed this behavior behind the scenes with a profiler
trace as well.&amp;nbsp; Interestingly even with the parameter mapped properly as numeric,
it is still passed into sql server as a varchar !&amp;nbsp; But with the parameter mapped
as numeric, the varchar is properly populated with value of the variable being passed
in and the statement completes successfully.
&lt;/p&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/profiler_trace.jpg" border=0&gt; 
&lt;p&gt;
Test those SQL Server patches carefully, there is always the off chance of unintended
behavior change.&amp;nbsp; Ultimately it was "sloppy coding" to be passing an integer
variable in ssis, to a parameter mapped as varchar.&amp;nbsp; But it has been running
that way for 14-16 months without issue.
&lt;/p&gt;
&lt;p&gt;
Test carefully.
&lt;/p&gt;
&lt;p&gt;
9.00.4211.00 - 2005 SP3 CU 2&lt;br&gt;
9.00.4262.00 - QFE Security Fix&lt;br&gt;
9.00.4266.00 - 2005 sp3 cu 6
&lt;/p&gt;
&lt;p&gt;
In response on where to get sp3 cu 6:
&lt;/p&gt;
&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;a href="http://support.microsoft.com/kb/974648/en-us"&gt;&lt;u&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;http://support.microsoft.com/kb/974648/en-us
&lt;/u&gt;&gt;&gt;&lt;/a&gt;&gt;
&lt;p&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=f879e08c-d9cb-427e-9289-402cb704ff73" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,f879e08c-d9cb-427e-9289-402cb704ff73.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=f75f0ce0-d75a-4bd1-802b-bf8eb71f0064</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,f75f0ce0-d75a-4bd1-802b-bf8eb71f0064.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,f75f0ce0-d75a-4bd1-802b-bf8eb71f0064.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f75f0ce0-d75a-4bd1-802b-bf8eb71f0064</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This post may raise more questions for you than it answers, but it really is something
that happenned in my shop and confused some people.  So I'm creating this post
as a place holder so I'll be able to reference this 10 months from now when the same
issue comes up and I've forgetten the solution.
</p>
        <p>
Basically for whatever reason we use Excel, darn !  No matter how I try and recreate
these Excel sheets in Reporting Services, some business users won't bite and they
still need excel files.  Generally these SSIS to Excel data pumps work fine....the
ones that generally trip the process up are ones with long text and multiple "named"
work sheets.  To solve the "named" work sheets problem we often use an Excel
template file that is copied to the destination and renamed, than the data pump occurs. 
As we migrate the SSIS packages from Development, QA to production, sometimes an "odd"
excel worksheet gets introduced, usually named "sheet1", lovely, below is the procedure
we used to correct this...
</p>
        <p>
Thanks to Tom Reeves from our team.
</p>
        <p>
          <strong>To Delete Unwanted sheets in Excel for use in SSIS</strong>
        </p>
        <p>
1) Map a local drive to the E: drive of the app server (ServerNameHere\E$)<br />
2) Open template file on server and delete unwanted tabs<br />
3) Open SSIS package 
<br />
a. You’ll need to make note of the tab name(s) that you are working with<br />
b. Copy query from the source object in the data flow<br />
4) Create a new DTS package – SQL2000<br />
a. 1 SQL Connection<br />
b. 1 Excel Connection<br />
c. 2 Execute SQL Tasks<br />
i. Both pointed to the Excel connection manager<br />
ii. One for Drop table and one for Create table<br />
5) Open the Transformation flow between the SQL connection and the Excel connection
- DTS<br />
6) Copy and paste the query from the SSIS package into the Source tab<br />
7) Click the Create button on the Destination tab and copy the code from the
window.  You can hit cancel on this screen now.<br />
8) Open one of the Execute SQL Tasks and set the connection manager to the Excel
connection and type your Drop sql statement.  
<br />
a. Example: drop table `SheetNameHere` - No dollar sign in the table name<br />
8) Open the other Execute SQL Task and set the connection manager to the Excel connection
and type your Create sql statement. 
<br />
Example: 
<br />
CREATE TABLE `SheetNameHere` (`Division_Code` Decimal (2,0) , 
<br />
`Division_Dept_Id` Decimal (7,0) , 
<br />
`Office_Dept_Id` Decimal (7,0) , 
<br />
`Last_Update_Date` DateTime , 
<br />
`Reason_Text_Opt_out` LongText , 
<br />
`Reason_Text_Opt_in` LongText , 
<br />
`WHQ_Comments` LongText , 
<br />
`WHQ_User` VarChar (30) , 
<br />
`WHQ_Last_Update_Date` DateTime , 
<br />
`military` Short , 
<br />
`office_type_code` VarChar (1) , 
<br />
`ABC` VarChar (10) , 
<br />
`Client_Segmentation` VarChar (50) , 
<br />
`number_of_windows` Long , 
<br />
`number_of_desks` Long , 
<br />
`Number_of_bilingual_tax_pros` VarChar (50) , 
<br />
`Year_round_indicator` VarChar (1) , 
<br />
`Latino_designation_year_prior` Long , 
<br />
`office_status` VarChar (1) , 
<br />
`Notary` Long , 
<br />
`ITIN` Long , 
<br />
`Spanish_Speaking_Preparer` Long  )<br /></p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=f75f0ce0-d75a-4bd1-802b-bf8eb71f0064" />
      </body>
      <title>How to delete unwanted Excel Work sheets in SSIS</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,f75f0ce0-d75a-4bd1-802b-bf8eb71f0064.aspx</guid>
      <link>http://www.lifeasbob.com/2009/08/04/HowToDeleteUnwantedExcelWorkSheetsInSSIS.aspx</link>
      <pubDate>Tue, 04 Aug 2009 18:13:00 GMT</pubDate>
      <description>&lt;p&gt;
This post may raise more questions for you than it answers, but it really is something
that happenned in my shop and confused some people.&amp;nbsp; So I'm creating this post
as a place holder so I'll be able to reference this 10 months from now when the same
issue comes up and I've forgetten the solution.
&lt;/p&gt;
&lt;p&gt;
Basically for whatever reason we use Excel, darn !&amp;nbsp; No matter how I try and recreate
these Excel sheets in Reporting Services, some business users won't bite and they
still need excel files.&amp;nbsp; Generally these SSIS to Excel data pumps work fine....the
ones that generally trip the process up are ones with long text and multiple "named"
work sheets.&amp;nbsp; To solve the "named" work sheets problem we often use an Excel
template file that is copied to the destination and renamed, than the data pump occurs.&amp;nbsp;
As we migrate the SSIS packages from Development, QA to production, sometimes an "odd"
excel worksheet gets introduced, usually named "sheet1", lovely, below is the procedure
we used to correct this...
&lt;/p&gt;
&lt;p&gt;
Thanks to Tom Reeves from our team.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;To Delete Unwanted sheets in Excel for use in SSIS&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
1)&amp;nbsp;Map a local drive to the E: drive of the app server (ServerNameHere\E$)&lt;br&gt;
2)&amp;nbsp;Open template file on server and delete unwanted tabs&lt;br&gt;
3)&amp;nbsp;Open SSIS package 
&lt;br&gt;
a.&amp;nbsp;You’ll need to make note of the tab name(s) that you are working with&lt;br&gt;
b.&amp;nbsp;Copy query from the source object in the data flow&lt;br&gt;
4)&amp;nbsp;Create a new DTS package – SQL2000&lt;br&gt;
a.&amp;nbsp;1 SQL Connection&lt;br&gt;
b.&amp;nbsp;1 Excel Connection&lt;br&gt;
c.&amp;nbsp;2 Execute SQL Tasks&lt;br&gt;
i.&amp;nbsp;Both pointed to the Excel connection manager&lt;br&gt;
ii.&amp;nbsp;One for Drop table and one for Create table&lt;br&gt;
5)&amp;nbsp;Open the Transformation flow between the SQL connection and the Excel connection
- DTS&lt;br&gt;
6)&amp;nbsp;Copy and paste the query from the SSIS package into the Source tab&lt;br&gt;
7)&amp;nbsp;Click the Create button on the Destination tab and copy the code from the
window.&amp;nbsp; You can hit cancel on this screen now.&lt;br&gt;
8)&amp;nbsp;Open one of the Execute SQL Tasks and set the connection manager to the Excel
connection and type your Drop sql statement.&amp;nbsp; 
&lt;br&gt;
a.&amp;nbsp;Example: drop table `SheetNameHere` - No dollar sign in the table name&lt;br&gt;
8) Open the other Execute SQL Task and set the connection manager to the Excel connection
and type your Create sql statement. 
&lt;br&gt;
Example: 
&lt;br&gt;
CREATE TABLE `SheetNameHere` (`Division_Code` Decimal (2,0) , 
&lt;br&gt;
`Division_Dept_Id` Decimal (7,0) , 
&lt;br&gt;
`Office_Dept_Id` Decimal (7,0) , 
&lt;br&gt;
`Last_Update_Date` DateTime , 
&lt;br&gt;
`Reason_Text_Opt_out` LongText , 
&lt;br&gt;
`Reason_Text_Opt_in` LongText , 
&lt;br&gt;
`WHQ_Comments` LongText , 
&lt;br&gt;
`WHQ_User` VarChar (30) , 
&lt;br&gt;
`WHQ_Last_Update_Date` DateTime , 
&lt;br&gt;
`military` Short , 
&lt;br&gt;
`office_type_code` VarChar (1) , 
&lt;br&gt;
`ABC` VarChar (10) , 
&lt;br&gt;
`Client_Segmentation` VarChar (50) , 
&lt;br&gt;
`number_of_windows` Long , 
&lt;br&gt;
`number_of_desks` Long , 
&lt;br&gt;
`Number_of_bilingual_tax_pros` VarChar (50) , 
&lt;br&gt;
`Year_round_indicator` VarChar (1) , 
&lt;br&gt;
`Latino_designation_year_prior` Long , 
&lt;br&gt;
`office_status` VarChar (1) , 
&lt;br&gt;
`Notary` Long , 
&lt;br&gt;
`ITIN` Long , 
&lt;br&gt;
`Spanish_Speaking_Preparer` Long&amp;nbsp; )&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=f75f0ce0-d75a-4bd1-802b-bf8eb71f0064" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,f75f0ce0-d75a-4bd1-802b-bf8eb71f0064.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=b304f404-8279-42e8-8c3f-94766a81ee09</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,b304f404-8279-42e8-8c3f-94766a81ee09.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,b304f404-8279-42e8-8c3f-94766a81ee09.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b304f404-8279-42e8-8c3f-94766a81ee09</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Remember this means buying it and paying maintenance.  SSIS is a great tool,
even if you did have to buy it, but because it's free and bundled with SQL Server
2005/8, we rarely look at other ETL Tools with an open mind.  Recently my list
of <a href="http://www.lifeasbob.com/2009/04/09/SSISPetPeeves2005.aspx">SSIS Pet Peeves</a> and
the <a href="http://www.lifeasbob.com/2009/04/03/ToughestSQLServer2005MigrationEver.aspx">Toughest
SQL Server 2005 Migration ever</a>, caused me to wonder, "Would I use SSIS if it wasn't
free and bundled with SQL Server?"
</p>
        <p>
I know the company i work did a RFP for ETL Tools, but I was never privy to the responses
or even allowed to participate in the process ( why include DBA's in the search for
an enterprise ETL Tool, that'd be foolish!).  Nothing ever came from this, so
that leads me to think that SSIS must still be the best value out there, probably
because it's free.  I sure would have liked to seen the responses, especially
on cost.
</p>
        <p>
I've found a nice web page on ETL Tools, though they want you to purchase their comparison,
but if nothing else you can see a nice list of ETL Vendors:
</p>
        <p>
          <a href="http://www.etltool.com/etltoolslist.htm">http://www.etltool.com/etltoolslist.htm</a>
        </p>
        <p>
No. List of ETL Tools Version   ETL Vendors 
<br />
1. Oracle Warehouse Builder (OWB) 11gR1 Oracle   
<br />
2. Data Integrator &amp; Services  XI 3.0 Business Objects, SAP 
<br />
3. IBM Information Server (Ascential) 8.0.1 IBM 
<br />
4. SAS Data Integration Studio 4.2 SAS Institute  
<br />
5. PowerCenter 8.5.1 Informatica   
<br />
6. Elixir Repertoire 7.2.2 Elixir  
<br />
7. Data Migrator 7.6 Information Builders 
<br />
8. Integration Services (SSIS) 10 Microsoft   
<br />
9. Talend Open Studio 1.1 Talend 
<br />
10. DataFlow Manager 6 Group 1 Software (Sagent) 
<br />
11. Data Integrator 8.12 Pervasive 
<br />
12. Transformation Server 5.4 IBM DataMirror 
<br />
13. Transformation Manager  5.2.2 ETL Solutions Ltd. 
<br />
14. Data Manager/Decision Stream 8.2 IBM Cognos 
<br />
15. DT/Studio 3.1 Embarcadero Technologies 
<br />
16. ETL4ALL 4.2 IKAN 
<br />
17. DB2 Warehouse Edition 9.1 IBM 
<br />
18. Pentaho Data Integration  3.0 Pentaho   
<br />
19. Adeptia Integration Server 4.9 Adeptia 
<br />
20. Clover ETL 2.5.2 Javlin   
</p>
        <p>
Interesting Blog post on evaluating some ETL Tools:<br /><a href="http://it.toolbox.com/blogs/evaluating-software/evaluate-etl-tools-4169">http://it.toolbox.com/blogs/evaluating-software/evaluate-etl-tools-4169</a></p>
        <p>
If anyone has any experiences with other ETL Tools and how they compare with SSIS,
i'd love to have you comment on this, letting me know why your using a different tool. 
After working with SSIS now on several large projects I'm now very comfortable with
SSIS and understand it's quirks, depending on it's "cost" compared to other products,
I'd use it, even if it wasn't free.  I hope Microsoft doesn't read this and decide
they want to start charging for ssis (and for sure there are already some features
of SSIS that aren't available under certain editions). 
</p>
        <p>
One of the greatest strengths of SSIS is how quickly we (DBA, User, Developer, BA,
QA Etc) can get at the data either for query, analysis, import or export...SSIS and
it's predecessor DTS were one of SQL Server's greatest strengths in this area. 
I work in a shop with other DBMS's and consistently SQL Server is more flexible in
this area, because of SSIS/DTS.  I do think they could have made SSIS Better
than it is, the learning curve compared to DTS is steep and the strong data typing
of the meta data can be difficult at best.<br /></p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=b304f404-8279-42e8-8c3f-94766a81ee09" />
      </body>
      <title>SSIS - Would you use it if it wasn't free.</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,b304f404-8279-42e8-8c3f-94766a81ee09.aspx</guid>
      <link>http://www.lifeasbob.com/2009/04/10/SSISWouldYouUseItIfItWasntFree.aspx</link>
      <pubDate>Fri, 10 Apr 2009 18:50:56 GMT</pubDate>
      <description>&lt;p&gt;
Remember this means buying it and paying maintenance.&amp;nbsp; SSIS is a great tool,
even if you did have to buy it, but because it's free and bundled with SQL Server
2005/8, we rarely look at other ETL Tools with an open mind.&amp;nbsp; Recently my list
of &lt;a href="http://www.lifeasbob.com/2009/04/09/SSISPetPeeves2005.aspx"&gt;SSIS Pet Peeves&lt;/a&gt; and
the &lt;a href="http://www.lifeasbob.com/2009/04/03/ToughestSQLServer2005MigrationEver.aspx"&gt;Toughest
SQL Server 2005 Migration ever&lt;/a&gt;, caused me to wonder, "Would I use SSIS if it wasn't
free and bundled with SQL Server?"
&lt;/p&gt;
&lt;p&gt;
I know the company i work did a RFP for ETL Tools, but I was never privy to the responses
or even allowed to participate in the process ( why include DBA's in the search for
an enterprise ETL Tool, that'd be foolish!).&amp;nbsp; Nothing ever came from this, so
that leads me to think that SSIS must still be the best value out there, probably
because it's free.&amp;nbsp; I sure would have liked to seen the responses, especially
on cost.
&lt;/p&gt;
&lt;p&gt;
I've found a nice web page on ETL Tools, though they want you to purchase their comparison,
but if nothing else you can see a nice list of ETL Vendors:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.etltool.com/etltoolslist.htm"&gt;http://www.etltool.com/etltoolslist.htm&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
No. List of ETL Tools Version&amp;nbsp;&amp;nbsp; ETL Vendors 
&lt;br&gt;
1. Oracle Warehouse Builder (OWB) 11gR1 Oracle&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
2. Data Integrator &amp;amp; Services&amp;nbsp; XI 3.0 Business Objects, SAP 
&lt;br&gt;
3. IBM Information Server (Ascential) 8.0.1 IBM 
&lt;br&gt;
4. SAS Data Integration Studio 4.2 SAS Institute&amp;nbsp; 
&lt;br&gt;
5. PowerCenter 8.5.1 Informatica&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
6. Elixir Repertoire 7.2.2 Elixir&amp;nbsp; 
&lt;br&gt;
7. Data Migrator 7.6 Information Builders 
&lt;br&gt;
8. Integration Services (SSIS) 10 Microsoft&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
9. Talend Open Studio 1.1 Talend 
&lt;br&gt;
10. DataFlow Manager 6 Group 1 Software (Sagent) 
&lt;br&gt;
11. Data Integrator 8.12 Pervasive 
&lt;br&gt;
12. Transformation Server 5.4 IBM DataMirror 
&lt;br&gt;
13. Transformation Manager&amp;nbsp; 5.2.2 ETL Solutions Ltd. 
&lt;br&gt;
14. Data Manager/Decision Stream 8.2 IBM Cognos 
&lt;br&gt;
15. DT/Studio 3.1 Embarcadero Technologies 
&lt;br&gt;
16. ETL4ALL 4.2 IKAN 
&lt;br&gt;
17. DB2 Warehouse Edition 9.1 IBM 
&lt;br&gt;
18. Pentaho Data Integration&amp;nbsp; 3.0 Pentaho&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
19. Adeptia Integration Server 4.9 Adeptia 
&lt;br&gt;
20. Clover ETL 2.5.2 Javlin&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Interesting Blog post on evaluating some ETL Tools:&lt;br&gt;
&lt;a href="http://it.toolbox.com/blogs/evaluating-software/evaluate-etl-tools-4169"&gt;http://it.toolbox.com/blogs/evaluating-software/evaluate-etl-tools-4169&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
If anyone has any experiences with other ETL Tools and how they compare with SSIS,
i'd love to have you comment on this, letting me know why your using a different tool.&amp;nbsp;
After working with SSIS now on several large projects I'm now very comfortable with
SSIS and understand it's quirks, depending on it's "cost" compared to other products,
I'd use it, even if it wasn't free.&amp;nbsp; I hope Microsoft doesn't read this and decide
they want to start charging for ssis (and for sure there are already some features
of SSIS that aren't available under certain editions). 
&lt;/p&gt;
&lt;p&gt;
One of the greatest strengths of SSIS is how quickly we (DBA, User, Developer, BA,
QA Etc) can get at the data either for query, analysis, import or export...SSIS and
it's predecessor DTS were one of SQL Server's greatest strengths in this area.&amp;nbsp;
I work in a shop with other DBMS's and consistently SQL Server is more flexible in
this area, because of SSIS/DTS.&amp;nbsp; I do think they could have made SSIS Better
than it is, the learning curve compared to DTS is steep and the strong data typing
of the meta data can be difficult at best.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=b304f404-8279-42e8-8c3f-94766a81ee09" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,b304f404-8279-42e8-8c3f-94766a81ee09.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=72132c1f-eae5-4ad2-8d84-2427e1e49211</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,72132c1f-eae5-4ad2-8d84-2427e1e49211.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,72132c1f-eae5-4ad2-8d84-2427e1e49211.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=72132c1f-eae5-4ad2-8d84-2427e1e49211</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently I finished my first deep dive into using SQL Server Integration Services
(SSIS) on a project.  This was the conversion of 88 fairly complex DTS Packages
from SQL 2000 to 2005.  I've used SSIS numerous times in the past, but I still
considered myself at the "beginner" level, I'd say i'm almost "Intermediate" now that
I've completed this project.  
</p>
        <p>
          <strong>All of our SSIS Packages for this project were implemented on a separate layer
from the dbms, ultimately allowing application administrators the ability to control
the jobs (via windows task scheduler). </strong>  <font color="#0000ff">This
is one of the greatest benefits of SSIS is the ability to separate them from SQL Server.</font> 
The three cons to this are loss of SQL Agent for scheduling,  SQL Licensing and
Performance of some tasks (can't use SQL Destination).   The pro's out weigh
these con's, and in the very few instances where a con can't be overcome we do
allow the ssis package to run on the same layer (usually large loads from Oracle to
SQL where the SQL Destination object must be used for performance).  
</p>
        <p>
It is definitely nice to allow the administrator unfettered access to the box and
they are completely responsible for developing, deploying, configuring and scheduling
their own SSIS Packages, not the SQL DBA Team.  We have 4 SQL Server DBA's, 170
Instances; there are a lot more App/Dev labor hours than their our SQL DBA labor hours. 
The App/Dev team loves it too, it takes them a bit to get used to it, but everyone
of them loves it.  Make sure you have good SLA's as DBA's still need to understand
when large loads and complex ETL's will run against a database.
</p>
        <p>
During the process I compiled a list of "pet peeves" for SSIS, here they are. 
Hopefully as we adopt SQL 2008 SSIS, i'll be able to cross some of these off.
</p>
        <ul>
          <li>
Excel (the list of issues seems endless)</li>
          <ul>
            <li>
Columns longer than 500 Characters</li>
            <li>
Strong data typing (Data conversion on 50+ columns is brutal!)</li>
            <li>
Mapping columns after data conversion, ugh !</li>
          </ul>
          <li>
Using variables for dynamic file names is not intuitive</li>
          <ul>
            <li>
This is timestamps in filenames etc, once learned it's not difficult, but for others
viewing the package the first time it can be convoluted to determine how the variables
are used to manipulate the name of the file source</li>
          </ul>
          <li>
Using wild cards for FTP (either put or get) is not intuitive</li>
          <ul>
            <li>
Converting some previous DTS Tasks would perform a put (mput) of {timestamp}.*, this
ended up either remaining a batch file in ssis or creating a for loop that actually
performed individual puts (really not smart to login 10 times for 10 puts).</li>
          </ul>
          <li>
Mapping columns in data flow tasks 
</li>
          <ul>
            <li>
If the names don't match there is no option to just do a 1:1 in order match, frustrating
and tedious when your dealing with 50 or a 100 columns to perform manually</li>
          </ul>
          <li>
Configuration Files</li>
          <ul>
            <li>
A must to implement, but just seems to have a high learning curve</li>
          </ul>
          <li>
Restart of a failed packages (checkpoints)</li>
          <ul>
            <li>
Just didn't work the way we expected, but once learned was quite successfully</li>
          </ul>
          <li>
Oracle Integration</li>
          <ul>
            <li>
The pain here was and is endless, 3rd party tool is really necessary if your dealing
with lots of integration</li>
          </ul>
          <li>
Default Properties for Fail Parent and Fail Package 
</li>
          <ul>
            <li>
For us it seemed we always wanted this to true and the default was false, there seemed
to be no way to globally change this</li>
          </ul>
          <li>
Precedence Constraint Editor does not contain an expression builder</li>
          <ul>
            <li>
Oh how I missed the 3 ellipses</li>
          </ul>
          <li>
Executing another SSIS Package from an existing SSIS Package</li>
          <ul>
            <li>
We have several "shared" packages, but we weren't able to use the execute package
task due to limitations on changing the properties, so we ended up using the Execute
process task, which calls a batch file with the proper configuration file...ultimately
the execute package task was useless</li>
          </ul>
          <li>
Readability of Configuration files makes editing difficult 
</li>
          <ul>
            <li>
We end up using XML Notepad on most servers, it'd be nice to see the property name
as part of the node or an element so one could visually scan down the side and find
things quicker.</li>
          </ul>
        </ul>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=72132c1f-eae5-4ad2-8d84-2427e1e49211" />
      </body>
      <title>SSIS Pet Peeves (2005)</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,72132c1f-eae5-4ad2-8d84-2427e1e49211.aspx</guid>
      <link>http://www.lifeasbob.com/2009/04/09/SSISPetPeeves2005.aspx</link>
      <pubDate>Thu, 09 Apr 2009 19:02:53 GMT</pubDate>
      <description>&lt;p&gt;
Recently I finished my first deep dive into using SQL Server Integration Services
(SSIS) on a project.&amp;nbsp; This was the conversion of 88 fairly complex DTS Packages
from SQL 2000 to 2005.&amp;nbsp; I've used SSIS numerous times in the past, but I still
considered myself at the "beginner" level, I'd say i'm almost "Intermediate" now that
I've completed this project.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;All of our SSIS Packages for this project were implemented on a separate layer
from the dbms, ultimately allowing application administrators the ability to control
the jobs (via windows task scheduler).&amp;nbsp;&lt;/strong&gt;&amp;nbsp; &lt;font color=#0000ff&gt;This
is one of the greatest benefits of SSIS is the ability to separate them from SQL Server.&lt;/font&gt;&amp;nbsp;
The three cons to this are loss of SQL Agent for scheduling,&amp;nbsp; SQL Licensing and
Performance of some tasks (can't use SQL Destination).&amp;nbsp;&amp;nbsp; The pro's out weigh
these con's,&amp;nbsp;and in the very few instances where a con can't be overcome we do
allow the ssis package to run on the same layer (usually large loads from Oracle to
SQL where the SQL Destination object must be used for performance).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
It is definitely nice to allow the administrator unfettered access to the box and
they are completely responsible for developing, deploying, configuring and scheduling
their own SSIS Packages, not the SQL DBA Team.&amp;nbsp; We have 4 SQL Server DBA's, 170
Instances; there are a lot more App/Dev labor hours than their our SQL DBA labor hours.&amp;nbsp;
The App/Dev team loves it too, it takes them a bit to get used to it, but everyone
of them loves it.&amp;nbsp; Make sure you have good SLA's as DBA's still need to understand
when large loads and complex ETL's will run against a database.
&lt;/p&gt;
&lt;p&gt;
During the process I compiled a list of "pet peeves" for SSIS, here they are.&amp;nbsp;
Hopefully as we adopt SQL 2008 SSIS, i'll be able to cross some of these off.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Excel (the list of issues seems endless)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Columns longer than 500 Characters&lt;/li&gt;
&lt;li&gt;
Strong data typing (Data conversion on 50+ columns is brutal!)&lt;/li&gt;
&lt;li&gt;
Mapping columns after data conversion, ugh !&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Using variables for dynamic file names is not intuitive&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
This is timestamps in filenames etc, once learned it's not difficult, but for others
viewing the package the first time it can be convoluted to determine how the variables
are used to manipulate the name of the file source&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Using wild cards for FTP (either put or get) is not intuitive&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Converting some previous DTS Tasks would perform a put (mput) of {timestamp}.*, this
ended up either remaining a batch file in ssis or creating a for loop that actually
performed individual puts (really not smart to login 10 times for 10 puts).&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Mapping columns in data flow tasks 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
If the names don't match there is no option to just do a 1:1 in order match, frustrating
and tedious when your dealing with 50 or a 100 columns to perform manually&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Configuration Files&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
A must to implement, but just seems to have a high learning curve&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Restart of a failed packages (checkpoints)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Just didn't work the way we expected, but once learned was quite successfully&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Oracle Integration&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
The pain here was and is endless, 3rd party tool is really necessary if your dealing
with lots of integration&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Default Properties for Fail Parent and Fail Package 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
For us it seemed we always wanted this to true and the default was false, there seemed
to be no way to globally change this&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Precedence Constraint Editor does not contain an expression builder&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Oh how I missed the 3 ellipses&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Executing another SSIS Package from an existing SSIS Package&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
We have several "shared" packages, but we weren't able to use the execute package
task due to limitations on changing the properties, so we ended up using the Execute
process task, which calls a batch file with the proper configuration file...ultimately
the execute package task was useless&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Readability of Configuration files makes editing difficult 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
We end up using XML Notepad on most servers, it'd be nice to see the property name
as part of the node or an element so one could visually scan down the side and find
things quicker.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=72132c1f-eae5-4ad2-8d84-2427e1e49211" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,72132c1f-eae5-4ad2-8d84-2427e1e49211.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We're still not ready to support sql 2008 (Company Infrastructure, vendors and DBA
Group are a little slow), maybe this June or July we'll do the first sql 2008 implementation).
</p>
        <p>
For me, most SQL Server migrations have been easy.  No mess, no fuss, hit the
"easy button".  We even do the migrations the "hard" way...new servers, named
instance, usually to a new clustered or consolidated environment using Polyserve or
VM, and we separate all DTS (ssis) and User jobs out to an application (ETL) server. 
As a DBA with 100's of servers it's a lot easier to let each application group manage
their own jobs, off the sql server, than for us to handle the requests. 
Usually the most difficult issue is connectivity, firewall and connection strings. 
Of 170 instances we support very rarely is there a difficult issue, we've dealt with
some odd performance issues here and there, but for the most part it's been smooth
sailing (hah, I remember being up for several days straight monitoring a system with
5K tps and watching it crash every day, but that's the extreme end of the bell curve).
</p>
        <p>
Finally we couldn't put it off any more, and it was time to tackle the elephant in
the room.  
</p>
        <p>
It's not a big Instance (5 databases, 60gb), but the challenges are big.  We're
dealing with 88 DTS Packages and 45 sql agent jobs, Connectivity to multiple Oracle
databases, AS400 and other SQL Servers, 60+ downstream consumers of data.  Excel
Flat Files, Text Files, Web services, 3rd party vendor imports and exports. 
Let the games begin.
</p>
        <p>
I knew I was screwed when I de-attached the databases from SQL 2000 and attached them
to sql 2005 and got the following errors:  "Attach database failed for Server
x.  An exception occurred while executing a T-SQL Statement or batch.  Converting
database x from version 539 to 611.  Microsoft SQL Server, Error 195. fn_convertdatetoint_notime
is not a recognized function name.  Incorrect syntax near the keyword 'left'". 
Ultimately we determined that this issues was caused by user functions in SQL 2000
setup in the master database, NOT Supported in sql 2005.  We also ran into isolated
issues where there were tsql syntax errors in sql 2000 that did not throw any errors,
but would not compile in 2005!
</p>
        <p>
          <strong>Linked Server Issues were also encountered.<br /></strong>   <font color="#0000ff">Setting up a linked server to the
AS400 on 64 Bit windows<br />
      Required a new version of the IBM iSeries driver<br />
      Required a patch to the IBM iseries driver<br />
      Required patching windows to install 64 bit odbc
drivers<br />
   Setting up a Linked server to SQL 2000 SP4<br />
      Required patching sql 2000, </font><a href="http://support.microsoft.com/kb/906954"><font color="#0000ff">http://support.microsoft.com/kb/906954</font></a><br /><font color="#0000ff">   Setting up a linked server to Oracle</font></p>
        <p>
Over-all the process took about a month (with 4 DBA's and other work), bulk of the
work was the DTS to SSIS packages.  We did look at some 3rd party utilities,
but they still left several hours work for each package, so we just did the brute
force method and did them one at a time.  Currently the process will spend 2-3
months running in parallel and being QA'd, than onto production.
</p>
        <p>
Hit the "next" button.<br /></p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3" />
      </body>
      <title>Toughest SQL Server 2005 migration ever !</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3.aspx</guid>
      <link>http://www.lifeasbob.com/2009/04/03/ToughestSQLServer2005MigrationEver.aspx</link>
      <pubDate>Fri, 03 Apr 2009 20:03:22 GMT</pubDate>
      <description>&lt;p&gt;
We're still not ready to support sql 2008 (Company Infrastructure, vendors and DBA
Group are a little slow), maybe this June or July we'll do the first sql 2008 implementation).
&lt;/p&gt;
&lt;p&gt;
For me, most SQL Server migrations have been easy.&amp;nbsp; No mess, no fuss, hit the
"easy button".&amp;nbsp; We even do the migrations the "hard" way...new servers, named
instance, usually to a new clustered or consolidated environment using Polyserve or
VM, and we separate all DTS (ssis) and User jobs out to an application (ETL) server.&amp;nbsp;
As a DBA with 100's of servers it's a lot easier to let each application group manage
their own jobs, off the sql server, than for&amp;nbsp;us to handle&amp;nbsp;the requests.&amp;nbsp;
Usually the most difficult issue is connectivity, firewall and connection strings.&amp;nbsp;
Of 170 instances we support very rarely is there a difficult issue, we've dealt with
some odd performance issues here and there, but for the most part it's been smooth
sailing (hah, I remember being up for several days straight monitoring a system with
5K tps and watching it crash every day, but that's the extreme end of the bell curve).
&lt;/p&gt;
&lt;p&gt;
Finally we couldn't put it off any more, and it was time to tackle the elephant in
the room.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
It's not a big Instance (5 databases, 60gb), but the challenges are big.&amp;nbsp; We're
dealing with 88 DTS Packages and 45 sql agent jobs, Connectivity to multiple Oracle
databases, AS400 and other SQL Servers, 60+ downstream consumers of data.&amp;nbsp; Excel
Flat Files, Text Files, Web services, 3rd party vendor imports and exports.&amp;nbsp;
Let the games begin.
&lt;/p&gt;
&lt;p&gt;
I knew I was screwed when I de-attached the databases from SQL 2000 and attached them
to sql 2005 and got the following errors:&amp;nbsp; "Attach database failed for Server
x.&amp;nbsp; An exception occurred while executing a T-SQL Statement or batch.&amp;nbsp; Converting
database x from version 539 to 611.&amp;nbsp; Microsoft SQL Server, Error 195. fn_convertdatetoint_notime
is not a recognized function name.&amp;nbsp; Incorrect syntax near the keyword 'left'".&amp;nbsp;
Ultimately we determined that this issues was caused by user functions in SQL 2000
setup in the master database, NOT Supported in sql 2005.&amp;nbsp; We also ran into isolated
issues where there were tsql syntax errors in sql 2000 that did not throw any errors,
but would not compile in 2005!
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Linked Server Issues were also encountered.&lt;br&gt;
&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=#0000ff&gt;Setting up a linked server to the AS400
on 64 Bit windows&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Required a new version of the IBM iSeries driver&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Required a patch to the IBM iseries driver&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Required patching windows to install 64 bit odbc
drivers&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Setting up a Linked server to SQL 2000 SP4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Required patching sql 2000, &lt;/font&gt;&lt;a href="http://support.microsoft.com/kb/906954"&gt;&lt;font color=#0000ff&gt;http://support.microsoft.com/kb/906954&lt;/font&gt;&lt;/a&gt;
&lt;br&gt;
&lt;font color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Setting up a linked server to Oracle&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Over-all the process took about a month (with 4 DBA's and other work), bulk of the
work was the DTS to SSIS packages.&amp;nbsp; We did look at some 3rd party utilities,
but they still left several hours work for each package, so we just did the brute
force method and did them one at a time.&amp;nbsp; Currently the process will spend 2-3
months running in parallel and being QA'd, than onto production.
&lt;/p&gt;
&lt;p&gt;
Hit the "next" button.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,09c6f3ae-9ef8-4854-b9b8-68c7a8c745e3.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / Linked Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=5deab1f3-54dc-43da-8e67-d8aa2bbf8413</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,5deab1f3-54dc-43da-8e67-d8aa2bbf8413.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,5deab1f3-54dc-43da-8e67-d8aa2bbf8413.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5deab1f3-54dc-43da-8e67-d8aa2bbf8413</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently I ran into an issue where I needed to edit a large number of dtsConfig xml
files.  I thought there was an option in the windows operating system to perform
a find and replace across multiple files, but alas I can't find it...
</p>
        <p>
Than I remember a vb script I had hobbled together from several other people to do
this.  There are several share ware, free ware and other programs to do this,
but I really think that find and replace is so basic of a task that it should
be easy to kick out... 
</p>
        <p>
So here it is, remember that vbs files are a security issue when downloading from
the internet, so i've uploaded them with a .txt extension.  Rename it to .vbs. 
There are two programs, a replace.vbs and Replace_in_All_files.vbs.  The latter
is the one that you must edit with the directory to look for files, extension of files
to search and the find and replace string.
</p>
        <p>
Use at your own risk.  The program will make a backup of the file.  VB Script
is not the most efficient find and replace program for very large files, but if you
have 100 or so dtsConfig files to edit, it works like a charm !
</p>
        <p>
The same type of program can be done in a Power Shell script, and it is the cool new
buzz language, but since it is only installed on 1 out 170 servers we support, it's
not quite useful yet....i'll post the power shell script later.
</p>
        <p>
          <a href="http://www.lifeasbob.com/content/binary/replace.txt">replace.txt (1.76 KB)</a>
        </p>
        <p>
          <a href="http://www.lifeasbob.com/content/binary/Replace_in_All_files.txt">Replace_in_All_files.txt
(1.5 KB)</a>
        </p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=5deab1f3-54dc-43da-8e67-d8aa2bbf8413" />
      </body>
      <title>Find and Replace across multiple files</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,5deab1f3-54dc-43da-8e67-d8aa2bbf8413.aspx</guid>
      <link>http://www.lifeasbob.com/2009/03/25/FindAndReplaceAcrossMultipleFiles.aspx</link>
      <pubDate>Wed, 25 Mar 2009 17:37:40 GMT</pubDate>
      <description>&lt;p&gt;
Recently I ran into an issue where I needed to edit a large number of dtsConfig xml
files.&amp;nbsp; I thought there was an option in the windows operating system to perform
a find and replace across multiple files, but alas I can't find it...
&lt;/p&gt;
&lt;p&gt;
Than I remember a vb script I had hobbled together from several other people to do
this.&amp;nbsp; There are several share ware, free ware and other programs to do this,
but I really think that find and replace is so&amp;nbsp;basic of a task that it should
be easy to kick out... 
&lt;/p&gt;
&lt;p&gt;
So here it is, remember that vbs files are a security issue when downloading from
the internet, so i've uploaded them with a .txt extension.&amp;nbsp; Rename it to .vbs.&amp;nbsp;
There are two programs, a replace.vbs and Replace_in_All_files.vbs.&amp;nbsp; The latter
is the one that you must edit with the directory to look for files, extension of files
to search and the find and replace string.
&lt;/p&gt;
&lt;p&gt;
Use at your own risk.&amp;nbsp; The program will make a backup of the file.&amp;nbsp; VB Script
is not the most efficient find and replace program for very large files, but if you
have 100 or so dtsConfig files to edit, it works like a charm !
&lt;/p&gt;
&lt;p&gt;
The same type of program can be done in a Power Shell script, and it is the cool new
buzz language, but since it is only installed on 1 out 170 servers we support, it's
not quite useful yet....i'll post the power shell script later.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.lifeasbob.com/content/binary/replace.txt"&gt;replace.txt (1.76 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.lifeasbob.com/content/binary/Replace_in_All_files.txt"&gt;Replace_in_All_files.txt
(1.5 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=5deab1f3-54dc-43da-8e67-d8aa2bbf8413" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,5deab1f3-54dc-43da-8e67-d8aa2bbf8413.aspx</comments>
      <category>General Technology</category>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=1f2f89ff-01db-4e85-9c5e-d692e7bb89aa</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,1f2f89ff-01db-4e85-9c5e-d692e7bb89aa.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,1f2f89ff-01db-4e85-9c5e-d692e7bb89aa.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1f2f89ff-01db-4e85-9c5e-d692e7bb89aa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently I ran across an interesting problem where we had to kick off an SSIS Package
on a remote server, i found the following to help with this:
</p>
        <p>
          <span>
            <font style="FONT-FAMILY: Arial" size="2">
              <span id="_ctl0_MainContent_PostFlatView">
              </span>I
tried <b>psexec</b> and it's great. A thing of beauty. Simple, clean and it just works.<br /><br style="FONT-WEIGHT: bold" /><span style="FONT-STYLE: italic">http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx</span><br /><br />
Here is a batch file that that uses it to execute an SSIS package on a remote server:<br /><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">@echo off</span><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">echo Enter Username</span><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">set /p UserName=</span><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">psexec \\10.20.30.40 -u %UserName% -e dtexec /sql
"\Maintenance Plans\SSIS_Package_Demo"</span><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">pause</span><br style="FONT-STYLE: italic" /><span style="FONT-STYLE: italic">exit</span><br /><br /><span style="FONT-WEIGHT: bold">The only problem with </span><b style="FONT-WEIGHT: bold">psexec</b><span style="FONT-WEIGHT: bold"> is
that you have to run it using a username and password with full administrative rights
on the operating system of the server where SQL Server 2005 and the SSIS packages
reside.</span><br /><br />
That's not a minor problem in any type of secure envirnoment.<br /><br />
It was a deal-killer for us.<br /><br />
However, <b>rexec</b> is a similar utility that authenticates the user name on the
remote computer before executing the specified command.</font>
            <font size="2">
              <span style="FONT-FAMILY: Arial">
              </span>
            </font>
            <font style="FONT-FAMILY: Arial" size="2">
              <br />
              <br style="FONT-WEIGHT: bold" />
              <span style="FONT-STYLE: italic">http://technet.microsoft.com/en-us/library/bb490989(TechNet.10).aspx#</span>
              <br />
              <br />
The </font>
            <font style="FONT-FAMILY: Arial" size="2">
              <b>rexec</b> client is included
with Windows 2000/XP/Vista, but</font>
            <font style="FONT-FAMILY: Arial" size="2"> they
do not come with a </font>
            <font style="FONT-FAMILY: Arial" size="2">
              <b>rexecd</b>
            </font>
            <font style="FONT-FAMILY: Arial" size="2"> daemon
to provide the service.<br /><br />
Winsock does have a 3rd party (non-free) </font>
            <font style="FONT-FAMILY: Arial" size="2">
              <b>rexecd</b>
            </font>
            <font style="FONT-FAMILY: Arial" size="2"> Windows
daemon</font>
            <font style="FONT-FAMILY: Arial" size="2">, however...<br /><br /><span style="FONT-STYLE: italic">http://www.denicomp.com/rexecdnt.htm</span><br /><br />
...and when you use it "</font>
            <font style="FONT-FAMILY: Arial" size="2">programs
are executed on the Windows system in the security context of the user specified in
the <strong>rexec</strong> command.</font>
            <font style="FONT-FAMILY: Arial" size="2">"<br /><br />
Here is a command line that runs the same package:<br /><br style="FONT-WEIGHT: bold" /><span style="FONT-STYLE: italic">rexec 10.20.30.40 -l username dtexec /sql "\Maintenance
Plans\SSIS_Package_Demo"</span><br /><br />
There are no simple, secure ways to remotely execute SQL Server 2005 SSIS packages
short of purchasing extra SQL Server licenses.<br /><br />
A remote execution service like <b>rexecd</b></font>
            <font style="FONT-FAMILY: Arial" size="2"> is
an absolute necessity for running SSIS packages.</font>
            <font style="FONT-FAMILY: Arial" size="2"> It's
well worth the $44.95 license fee.<br /></font>
          </span>
        </p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=1f2f89ff-01db-4e85-9c5e-d692e7bb89aa" />
      </body>
      <title>Remote Execution of an SSIS Package</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,1f2f89ff-01db-4e85-9c5e-d692e7bb89aa.aspx</guid>
      <link>http://www.lifeasbob.com/2008/11/21/RemoteExecutionOfAnSSISPackage.aspx</link>
      <pubDate>Fri, 21 Nov 2008 16:14:06 GMT</pubDate>
      <description>&lt;p&gt;
Recently I ran across an interesting problem where we had to kick off an SSIS Package
on a remote server, i found the following to help with this:
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;&lt;span id=_ctl0_MainContent_PostFlatView&gt;&lt;/span&gt;I
tried &lt;b&gt;psexec&lt;/b&gt; and it's great. A thing of beauty. Simple, clean and it just works.&lt;br&gt;
&lt;br style="FONT-WEIGHT: bold"&gt;
&lt;span style="FONT-STYLE: italic"&gt;http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
Here is a batch file that that uses it to execute an SSIS package on a remote server:&lt;br&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;@echo off&lt;/span&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;echo Enter Username&lt;/span&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;set /p UserName=&lt;/span&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;psexec \\10.20.30.40 -u %UserName% -e dtexec /sql
"\Maintenance Plans\SSIS_Package_Demo"&lt;/span&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;pause&lt;/span&gt;
&lt;br style="FONT-STYLE: italic"&gt;
&lt;span style="FONT-STYLE: italic"&gt;exit&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-WEIGHT: bold"&gt;The only problem with &lt;/span&gt;&lt;b style="FONT-WEIGHT: bold"&gt;psexec&lt;/b&gt;&lt;span style="FONT-WEIGHT: bold"&gt; is
that you have to run it using a username and password with full administrative rights
on the operating system of the server where SQL Server 2005 and the SSIS packages
reside.&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
That's not a minor problem in any type of secure envirnoment.&lt;br&gt;
&lt;br&gt;
It was a deal-killer for us.&lt;br&gt;
&lt;br&gt;
However, &lt;b&gt;rexec&lt;/b&gt; is a similar utility that authenticates the user name on the
remote computer before executing the specified command.&lt;/font&gt;&lt;font size=2&gt;&lt;span style="FONT-FAMILY: Arial"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;
&lt;br&gt;
&lt;br style="FONT-WEIGHT: bold"&gt;
&lt;span style="FONT-STYLE: italic"&gt;http://technet.microsoft.com/en-us/library/bb490989(TechNet.10).aspx#&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
The &lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;&lt;b&gt;rexec&lt;/b&gt; client is included
with Windows 2000/XP/Vista, but&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt; they
do not come with a &lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;&lt;b&gt;rexecd&lt;/b&gt;&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt; daemon
to provide the service.&lt;br&gt;
&lt;br&gt;
Winsock does have a 3rd party (non-free) &lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;&lt;b&gt;rexecd&lt;/b&gt;&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt; Windows
daemon&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;, however...&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-STYLE: italic"&gt;http://www.denicomp.com/rexecdnt.htm&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
...and when you use it "&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;programs are
executed on the Windows system in the security context of the user specified in the &lt;strong&gt;rexec&lt;/strong&gt; command.&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt;"&lt;br&gt;
&lt;br&gt;
Here is a command line that runs the same package:&lt;br&gt;
&lt;br style="FONT-WEIGHT: bold"&gt;
&lt;span style="FONT-STYLE: italic"&gt;rexec 10.20.30.40 -l username dtexec /sql "\Maintenance
Plans\SSIS_Package_Demo"&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
There are no simple, secure ways to remotely execute SQL Server 2005 SSIS packages
short of purchasing extra SQL Server licenses.&lt;br&gt;
&lt;br&gt;
A remote execution service like &lt;b&gt;rexecd&lt;/b&gt;&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt; is
an absolute necessity for running SSIS packages.&lt;/font&gt;&lt;font style="FONT-FAMILY: Arial" size=2&gt; It's
well worth the $44.95 license fee.&lt;br&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=1f2f89ff-01db-4e85-9c5e-d692e7bb89aa" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,1f2f89ff-01db-4e85-9c5e-d692e7bb89aa.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=95edccf6-8512-4f27-93a9-fb967391ebe8</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,95edccf6-8512-4f27-93a9-fb967391ebe8.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,95edccf6-8512-4f27-93a9-fb967391ebe8.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=95edccf6-8512-4f27-93a9-fb967391ebe8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SSIS, Oracle, SQL and 64 BIT - NOT Perfect together !
</p>
        <p>
Recently ran into an issue where we use SSIS to pull data from Oracle and issues with
converting a Oracle Numeric data type to SQL Server.  This did not go well, final
corrections seemed ok, until we deployed them.
</p>
        <p>
There are several solutions to this problem, it seems that having the right drivers
of course helps, and so does casting / converting the data while brining it in from
Oracle.  
</p>
        <p>
I found a great blog entry on this, i've copied it below (as great links often disappear),
and also the link:
</p>
        <p>
          <a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx">http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx</a> 
</p>
        <p>
          <hr />
        </p>
        <div class="post">
          <h2 class="pageTitle">SSIS 64bit – Using Oracle Provider
</h2>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">Hello everyone, running an Oracle Provider over a 64
bit system could be a pain in the…<br />
The purpose of this document is to explain the main issues running an SSIS solution
using Oracle as a data source under 64bit. This document would explain the problems.
Offer solution and work <span style="mso-spacerun: yes"> </span>around procedures.</font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <br />
            <font size="3">
              <font face="Calibri">
                <b>
                  <u>Symptoms:</u>
                </b>
                <br />
When dealing with Oracle as a data-source we face two known issues:<br />
1.<span style="mso-tab-count: 1">            </span>The
case of the Numeric Type Casting:<br /><span style="mso-tab-count: 1">                </span>Oracle
uses a data –type named numeric for numerical data. </font>
            </font>
            <font size="3">
              <font face="Calibri">the
numeric data <br />
                </font>
            </font>
            <font size="3">
              <font face="Calibri">type <span style="mso-tab-count: 1"> </span>usually requires</font>
            </font>
            <font size="3">
              <font face="Calibri">  
setting precision format e.g. numeric(18,2). <br />
               
While the OLEDB <span style="mso-tab-count: 1">  </span>Provider can handle the
numeric type. It does so only when precision is set.when <span style="mso-tab-count: 1"><br />
                </span>facing
a meta-data of type numeric where precision wasn't set. an exception is thrown
requires us 
<br />
               
to use casting within the Oracle query. This is not to terrible if you have single
table/query. But try <br />
                to
imagine maintaining hundreds of queries ?</font>
            </font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">2.<span style="mso-tab-count: 1">            </span>Provider<span style="mso-spacerun: yes">  </span>Data
rate:<br /><span style="mso-tab-count: 1">                </span>The
purpose of 64bit hardware is to accelerate the performance. 
<br />
               
Using a 32 bit provider<span style="mso-spacerun: yes">  </span>on a 64bit
hardware limit the performance of the package. (OLEDB <span style="mso-tab-count: 1">              
<br />
                </span>Provider
uses COM objects and x86 type system).</font>
          </p>
          <font face="Calibri" size="3"> </font>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <b>
              <u>
                <font face="Calibri" size="3">Solution Scenario:</font>
              </u>
            </b>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">The Following solution would handle both issues. The
proposed solution is to download and setup a 64 bit generic provider. The only question
is which provider and what scenario ?</font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <u>
              <font size="3">
                <font face="Calibri">
                  <span style="mso-spacerun: yes"> </span>Prepare
Step:<span style="mso-spacerun: yes">  </span>Remove Previous Oracle Client and
or Installations</font>
              </font>
            </u>
          </p>
          <p class="MsoListParagraphCxSpFirst" dir="ltr" style="MARGIN: 0cm 0cm 10pt 18pt; DIRECTION: ltr; TEXT-INDENT: -18pt; unicode-bidi: embed; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; mso-add-space: auto">
            <span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin">
              <span style="mso-list: Ignore">
                <font face="Calibri" size="3">1.</font>
                <span style="FONT: 7pt 'Times New Roman'">       </span>
              </span>
            </span>
            <span>
            </span>
            <font face="Calibri" size="3">Using
Oracle Install to remove all Oracle objects (including ROOT)</font>
          </p>
          <p class="MsoListParagraphCxSpMiddle" dir="ltr" style="MARGIN: 0cm 0cm 10pt 18pt; DIRECTION: ltr; TEXT-INDENT: -18pt; unicode-bidi: embed; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; mso-add-space: auto">
            <span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin">
              <span style="mso-list: Ignore">
                <font face="Calibri" size="3">2.</font>
                <span style="FONT: 7pt 'Times New Roman'">       </span>
              </span>
            </span>
            <span>
            </span>
            <font size="3">
              <font face="Calibri">Remove
specific Oracle Assemblies from GAC:<br />
Look under %WindowsDir% for the Assembly folder and remove all Oracle specific Assemblies
(Mainly Oracle Policy and Oracle Data Provider).<br /><b>beware not to remove Microsoft generic assemblies (System.* or Policy..Microsoft)</b></font>
            </font>
          </p>
          <span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin">
            <span style="mso-list: Ignore">
              <font face="Calibri" size="3">3.</font>
              <span style="FONT: 7pt 'Times New Roman'">       </span>
            </span>
          </span>
          <span>
          </span>
          <font size="3">
            <font face="Calibri">Remove
Oracle Registry Entries<u></u></font>
          </font>
          <span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin">
            <span style="mso-list: Ignore">
              <font face="Calibri" size="3">4.</font>
              <span style="FONT: 7pt 'Times New Roman'">       </span>
            </span>
          </span>
          <span>
          </span>
          <font size="3">
            <font face="Calibri">Delete
Oracle Folder (remaining items).<u></u></font>
          </font>
          <p>
            <u>
              <span style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: HE; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">
                <br style="PAGE-BREAK-BEFORE: always; mso-special-character: line-break" />
              </span>
            </u> <font size="3"><font face="Calibri"><u>Phase 1: Upgrading to 10g
(64bit) 10.2.0.3 - Provider<br /></u>The following phase would increase your provider throughput and allow you to execute
a 64bit calls to the Oracle Hardware, <b><u>However it wouldn't solve your Numeric
casting issue</u></b>.<br />
This step is supported by two 64bit Hardware schema:<br /><br />
1. <span style="mso-tab-count: 1">           </span></font></font><font size="3"><font face="Calibri"><u>For
x64 base Hardware:<br /></u><span style="mso-tab-count: 1">                </span>Download
and Install the specific provider for x64.<br /><span style="mso-tab-count: 1">                </span></font></font><a href="http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html"><font face="Calibri" color="#800080" size="3">http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html</font></a></p>
          <font face="Calibri" size="3"> </font>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font size="3">
              <font face="Calibri">2.<span style="mso-tab-count: 1">            </span><u>For
IA64 based Hardware (Both IA64 and Itanium 2):</u><br /><span style="mso-tab-count: 1">                </span>Download
and install the specific Itanium provider.<br /><span style="mso-tab-count: 1">                </span></font>
            </font>
            <a href="http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html">
              <font face="Calibri" color="#800080" size="3">http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html</font>
            </a>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font size="3">
              <font face="Calibri">
                <span style="mso-tab-count: 1">                </span>
                <b>Remark:<span style="mso-tab-count: 1">               </span></b>Keep
in mind that specific Itanium Processors, such as Montecito <span style="mso-tab-count: 3">                                            </span>requires
additional patch offered on the same link!.<span style="mso-tab-count: 1">          </span><br /><span style="mso-tab-count: 1">                </span></font>
            </font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <br />
            <font size="3">
              <font face="Calibri">
                <u>Phase 2:<span style="mso-spacerun: yes">  </span>Establish
an Oracle Connection<br /></u>1.<span style="mso-tab-count: 1">            </span>Use
your Oracle DBA to establish your TNS_ADMIN Settings and set your <span style="mso-tab-count: 1">            </span>"tnsnames.ora"
file. 
<br />
2.<span style="mso-tab-count: 1">            </span>Use
the Registry to set a TNS_LANG with equivalent settings as Oracle Server.</font>
            </font>
          </p>
          <font face="Calibri" size="3"> </font>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font size="3">
              <font face="Calibri">
                <u>Phase 3:<span style="mso-spacerun: yes">  </span>Upgrading <span style="mso-spacerun: yes"> </span>to
Oracle Data Access Components (ODAC) 11g<span style="mso-spacerun: yes">  </span>-
11.1.0.6.21</u>
                <br />
This phase would solve the need to cast the SQL query to support the numeric data-type.
By using the Oracle Managed Provider for .NET. a Package can be developed without
the need to cast the numeric field. Performance Test shows and estimated throughput
of 1Milion rows per minute.</font>
            </font>
          </p>
          <font size="3">
            <font face="Calibri">
              <b>
                <u>Important Remarks:</u>
              </b>
              <br />
1.<span style="mso-tab-count: 1">            </span>Do
not remove previous version of 10.2.0.3 provider!<br />
2.<span style="mso-tab-count: 1">            </span></font>
          </font>
          <b>
            <font size="3">
              <font face="Calibri">This
phase only applies to x64 Type System. No Itanium Support at this time!!<br /><span style="mso-tab-count: 1">                </span>Itanium
users, would have to solve the numeric casting problem using casting at <span style="mso-tab-count: 1">           </span>the
sql origin.</font>
            </font>
          </b>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font size="3">
              <font face="Calibri">Users of the x64 hardware, please download and
install the following component:<br /><span class="parahead1">Oracle 11<i>g</i> ODAC and Oracle Developer Tools for Visual
Studio</span></font>
            </font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <a href="http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html">
              <font face="Calibri" color="#800080" size="3">http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html</font>
            </a>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font size="3">
              <font face="Calibri">
                <u>Phase 4:<span style="mso-spacerun: yes">  </span>Establish
an Oracle Connection</u>
                <br />
Since the 11g ODAC usually setup an additional Oracle Root , we need to establish
additional Oracle Setting for the additional Oracle 11g Root.</font>
            </font>
            <u>
              <br />
            </u>
            <font face="Calibri" size="3">1.<span style="mso-tab-count: 1">            </span>Use
your Oracle DBA to establish your TNS_ADMIN Settings and set your <span style="mso-tab-count: 1">            </span>"tnsnames.ora"
file. 
<br />
2.<span style="mso-tab-count: 1">            </span>Use
the Registry to set a TNS_LANG with equivalent settings as Oracle Server.</font>
          </p>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">3.<span style="mso-tab-count: 1">            </span>The
Registry Setting for the 11g provider , would appear under the WOW64 entry <span style="mso-tab-count: 1"> </span>within
the registry.</font>
          </p>
          <font face="Calibri" size="3"> </font>
          <b>
            <font size="3">
              <font face="Calibri">Which
Provider To Choose:</font>
            </font>
          </b>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">Using the SSIS designer within visual studio, be sure
to choose the following provider:</font>
          </p>
          <span class="bodycopy">
            <b>
              <font size="3">
                <font face="Calibri">Oracle Data Provider
for .NET</font>
              </font>
            </b>
          </span>
          <span class="bodycopy">
            <b>
              <font size="3">
                <font face="Calibri">Please
do not be mistaken with the Oracle Client Provider for .NET which is a Microsoft generic
provider!!!!!</font>
              </font>
            </b>
          </span>
          <span class="bodycopy">
            <font size="3">
              <font face="Calibri">
                <b>Q.
I can't see the Oracle Data Provider For .NET within the List</b> ?</font>
            </font>
          </span>
          <font size="3">
            <font face="Calibri">
              <span class="bodycopy">A.<span style="mso-spacerun: yes">  </span>Please
do the following:</span>
            </font>
          </font>
          <font size="3">
            <font face="Calibri">
              <span class="bodycopy">
                <ol>
                  <li>
Download the 
</li>
                </ol>
              </span>
              <span class="parahead1">Oracle 11<i>g</i> ODAC and Oracle Developer Tools
for Visual Studio</span>
              <span class="bodycopy"> for x86 (32 bit) and <br />
extract the assemblies files.<br /></span>
              <li>
              </li>
            </font>
          </font>
          <span class="bodycopy">
            <font size="3">
              <font face="Calibri">Using
the GAC utility to register assemblies<br /></font>
            </font>
          </span>
          <li>
            <font size="3">
              <font face="Calibri">
                <span class="bodycopy">Go to machine.config of
the 64bit which could be located at:<br />
%</span>%WindowsDir%</font>
            </font>
            <span class="bodycopy">
              <font size="3">
                <font face="Calibri">\Microsoft.NET\Framework\x64\v2.0.50727\Config<br />
And look for the Oracle Data Provider which is located in the "&lt;system.data&gt;" section.<br />
Copy the settings (alter to match the public key of the x86 assemblies) to <span style="mso-tab-count: 1"></span>the
machine.config file of <br />
the x86 settings.<br /></font>
              </font>
            </span>
          </li>
          <li>
            <span class="bodycopy">
              <font size="3">
                <font face="Calibri">restart the server</font>
              </font>
            </span>
            <span class="bodycopy">
              <font face="Calibri" size="3"> </font>
            </span>
          </li>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">Do not forget to execute SSIS package using either SQL
Server Job (Execute SSIS package step), or by using the dtexec command line.</font>
          </p>
          <font face="Calibri" size="3"> </font>
          <font face="Calibri" size="3">Have fun,</font>
          <p class="MsoNormal" dir="ltr" style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left">
            <font face="Calibri" size="3">Eran</font>
          </p>
        </div>
        <div id="comments">
          <div class="CommentArea">
            <h4 class="CommentTitle">Rob Orchiston said: <img class="CommentArrow" id="ctl00_Main_ctl10_ctl02_ctl00_ctl02_ctl01" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align="bottom" /></h4>
            <div class="CommentText">
              <div class="CommentText2">
                <div class="CommentText3">
                  <p>
Hi Eran, I just stumbled across your post here while looking for something unrelated
on google. I spent several hours trying to get thru to a microsoft technical representative
in Nth America to get some help with 64 bit providers on Oracle. The MS call routers
gave me the run around and I never actually talked with an engineer, although my MSDN
subscription allows for several free support calls. 
</p>
                  <p>
As for the 64 bit Oracle Providers on our 64 bit Windows Server we couldn't get the
MS or the Oracle provider for Oracle working and on Friday ended up conceeding so
today the Server is being rebuilt as a 32 bit Windows Server. Our test environment
is running 32 bit and SSIS packages work just fine there. I had spent several days
trying to get the 64 bit providers to work but we have a production deadline and a
hosted server which made resolving the issue more problematic.
</p>
                </div>
              </div>
            </div>
            <div class="CommentFooter">
              <a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#155507">#</a> October
20, 2008 4:39 PM 
</div>
          </div>
          <div class="CommentAreaOwner">
            <h4 class="CommentTitle">
              <a title="Eran Sagi" href="http://blogs.microsoft.co.il/user/Profile.aspx?UserID=2310">Eran
Sagi</a> said: <img class="CommentArrow" id="ctl00_Main_ctl10_ctl02_ctl00_ctl03_ctl01" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align="bottom" /></h4>
            <div class="CommentText">
              <div class="CommentText2">
                <div class="CommentText3">
                  <p>
Hi Rob,
</p>
                  <p>
I would like to help; could you give me more details?
</p>
                  <p>
The Scenario in the Blog is the result of multiple solutions all are working!
</p>
                  <p>
From your comments it looks like you main problem was detecting/using the providers!
Here are some thoughts on that issue:
</p>
                  <p>
1. Did you manage to use tnsping to test if the
</p>
                  <p>
  oracle server is connected ? (You can also check 
</p>
                  <p>
  Using PL/SQL or Toad)
</p>
                  <p>
2. Most of the 64bit providers, would work only in 
</p>
                  <p>
  Genuine 64bit environment, meaning, you have to 
</p>
                  <p>
  Use either the dtexec command line utility or the 
</p>
                  <p>
  SQL Server Job (Under 64bit Instance).
</p>
                  <p>
3. Using Visual Studio and/or DTExecUI would only 
</p>
                  <p>
  Activate the 32bit providers. Those providers 
</p>
                  <p>
  Doesn't include the Oracle Data Provider for .NET, 
</p>
                  <p>
  Unless specifically installed both 32bit and x64 
</p>
                  <p>
  Version!
</p>
                  <p>
4. Did you manage to perform "Test Connection" using 
</p>
                  <p>
  the Data source Windows of the SSIS ?
</p>
                  <p>
Keep in mind the running a 32bit SSIS solution would limit you to a 3GB memory space
(when using the /3GB settings of the system). and limited support for multi threaded.
the performance gaps are usually high!
</p>
                  <p>
It is recommended to try harder to achieve 64bit environment.
</p>
                  <p>
Since you have contacted your Microsoft Local, try to relay the Call to MCS Israel,
maybe we can help here!
</p>
                  <p>
Regards,
</p>
                  <p>
Eran
</p>
                </div>
              </div>
            </div>
            <div class="CommentFooter">
              <a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#155950">#</a> October
21, 2008 4:15 PM 
</div>
          </div>
          <div class="CommentArea">
            <h4 class="CommentTitle">Mark Frawley said: <img class="CommentArrow" id="ctl00_Main_ctl10_ctl02_ctl00_ctl04_ctl01" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align="bottom" /></h4>
            <div class="CommentText">
              <div class="CommentText2">
                <div class="CommentText3">
                  <p>
Hello Eran
</p>
                  <p>
I am having this exact problem.  Before I embark on the extensive things you
recommended, I have a few questions I hope you can answer:
</p>
                  <p>
1 - just before "Phase 4..." you say to download and install "Oracle 11g ODAC and
Oracle Developer Tools for Visual Studio" but don't say anything about 32 vs 64 bit.
 Later, in answering what to do if the "Oracle Data Provider For .NET" does not
appear in the list, you specifically say to install the 32 bit version.  Is the
overall conclusion that both are to be installed ?
</p>
                  <p>
2 - in your response to Rob, #2, where you say most 64 bit providers will only work
in a genuine 64 bit environment and mention using dtexec or an Agent job, are you
suggesting that you cannot execute packages with a 64 bit Oracle provider from within
BIDS ?
</p>
                  <p>
Thanks for a very helpful post...
</p>
                  <p>
Mark
</p>
                </div>
              </div>
            </div>
            <div class="CommentFooter">
              <a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#168073">#</a> November
17, 2008 2:36 PM 
</div>
          </div>
          <div class="CommentAreaOwner">
            <h4 class="CommentTitle">
              <a title="Eran Sagi" href="http://blogs.microsoft.co.il/user/Profile.aspx?UserID=2310">Eran
Sagi</a> said: <img class="CommentArrow" id="ctl00_Main_ctl10_ctl02_ctl00_ctl05_ctl01" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align="bottom" /></h4>
            <div class="CommentText">
              <div class="CommentText2">
                <div class="CommentText3">
                  <p>
Hi Mark,
</p>
                  <p>
Well you understood corectly:
</p>
                  <p>
  a. You should install Both the 32bit and the 64bit 
</p>
                  <p>
     versions. (require geniune x64 environment).
</p>
                  <p>
  b. 64bit SSIS Environemt is enabled during the 
</p>
                  <p>
     execution of dtexec and SQL Server Agent job 
</p>
                  <p>
     (64 bit version of SQL). Running the package 
</p>
                  <p>
     from within the BIDS would result launching a 
</p>
                  <p>
     32 bit environment.
</p>
                  <p>
I hope that helps,
</p>
                  <p>
Eran
</p>
                </div>
              </div>
            </div>
          </div>
        </div>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=95edccf6-8512-4f27-93a9-fb967391ebe8" />
      </body>
      <title>SSIS - Oracle to SQL Numeric</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,95edccf6-8512-4f27-93a9-fb967391ebe8.aspx</guid>
      <link>http://www.lifeasbob.com/2008/11/18/SSISOracleToSQLNumeric.aspx</link>
      <pubDate>Tue, 18 Nov 2008 21:03:50 GMT</pubDate>
      <description>&lt;p&gt;
SSIS, Oracle, SQL and 64 BIT&amp;nbsp;- NOT Perfect together !
&lt;/p&gt;
&lt;p&gt;
Recently ran into an issue where we use SSIS to pull data from Oracle and issues with
converting a Oracle Numeric data type to SQL Server.&amp;nbsp; This did not go well, final
corrections seemed ok, until we deployed them.
&lt;/p&gt;
&lt;p&gt;
There are several solutions to this problem, it seems that having the right drivers
of course helps, and so does casting / converting the data while brining it in from
Oracle.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I found a great blog entry on this, i've copied it below (as great links often disappear),
and also the link:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx"&gt;http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;hr&gt;
&lt;/p&gt;
&lt;div class=post&gt;
&lt;h2 class=pageTitle&gt;SSIS 64bit – Using Oracle Provider
&lt;/h2&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;Hello everyone, running an Oracle Provider over a 64 bit
system could be a pain in the…&lt;br&gt;
The purpose of this document is to explain the main issues running an SSIS solution
using Oracle as a data source under 64bit. This document would explain the problems.
Offer solution and work &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;around procedures.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;br&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;b&gt;&lt;u&gt;Symptoms:&lt;/u&gt;&lt;/b&gt;
&lt;br&gt;
When dealing with Oracle as a data-source we face two known issues:&lt;br&gt;
1.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The
case of the Numeric Type Casting:&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;Oracle
uses a data –type named numeric for numerical data. &lt;/font&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;the
numeric data&amp;nbsp;&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;&lt;/font&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;type&amp;nbsp;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&lt;/span&gt;usually&amp;nbsp;requires&lt;/font&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&amp;nbsp;&amp;nbsp;
setting precision format e.g. numeric(18,2).&amp;nbsp;&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;
While the OLEDB &lt;span style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/span&gt;Provider can handle the
numeric type. It does so only when precision is set.when&amp;nbsp;&lt;span style="mso-tab-count: 1"&gt;
&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; &lt;/span&gt;facing
a meta-data of type numeric where precision wasn't set. an exception is&amp;nbsp;thrown
requires us 
&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;
to use casting within the Oracle query. This is not to terrible if&amp;nbsp;you have single
table/query. But try&amp;nbsp;&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;to
imagine maintaining hundreds of queries ?&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;2.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Provider&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Data
rate:&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;The
purpose of 64bit hardware is to accelerate the performance. 
&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;
Using a 32 bit&amp;nbsp;provider&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;on a 64bit
hardware limit the performance of the package. (OLEDB &lt;span style="mso-tab-count: 1"&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; 
&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; &lt;/span&gt;Provider
uses COM objects and x86 type system).&lt;/font&gt;
&lt;/p&gt;
&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;b&gt;&lt;u&gt;&lt;font face=Calibri size=3&gt;Solution Scenario:&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;The Following solution would handle both issues. The proposed
solution is to download and setup a 64 bit generic provider. The only question is
which provider and what scenario ?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;u&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Prepare
Step:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Remove Previous Oracle Client and
or Installations&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpFirst dir=ltr style="MARGIN: 0cm 0cm 10pt 18pt; DIRECTION: ltr; TEXT-INDENT: -18pt; unicode-bidi: embed; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;
&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;1.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;font face=Calibri size=3&gt;Using
Oracle Install to remove all Oracle objects (including ROOT)&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoListParagraphCxSpMiddle dir=ltr style="MARGIN: 0cm 0cm 10pt 18pt; DIRECTION: ltr; TEXT-INDENT: -18pt; unicode-bidi: embed; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;
&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;2.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Remove
specific Oracle Assemblies from GAC:&lt;br&gt;
Look under %WindowsDir% for the Assembly folder and remove all Oracle specific Assemblies
(Mainly Oracle Policy and Oracle Data Provider).&lt;br&gt;
&lt;b&gt;beware not to remove Microsoft generic assemblies (System.* or Policy..Microsoft)&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;3.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Remove
Oracle Registry Entries&lt;u&gt;&lt;/u&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face=Calibri size=3&gt;4.&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Delete
Oracle Folder (remaining items).&lt;u&gt;&lt;/u&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;
&lt;u&gt;&lt;span style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-ansi-language: EN-US; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: HE; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;
&lt;br style="PAGE-BREAK-BEFORE: always; mso-special-character: line-break"&gt;
&lt;/span&gt;&lt;/u&gt;&amp;nbsp;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;u&gt;Phase 1: Upgrading to 10g (64bit)
10.2.0.3 - Provider&lt;br&gt;
&lt;/u&gt;The following phase would increase your provider throughput and allow you to execute
a 64bit calls to the Oracle Hardware, &lt;b&gt;&lt;u&gt;However it wouldn't solve your Numeric
casting issue&lt;/u&gt;&lt;/b&gt;.&lt;br&gt;
This step is supported by two 64bit Hardware schema:&lt;br&gt;
&lt;br&gt;
1. &lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;u&gt;For
x64 base Hardware:&lt;br&gt;
&lt;/u&gt;&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;Download
and Install the specific provider for x64.&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html"&gt;&lt;font face=Calibri color=#800080 size=3&gt;http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;2.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;u&gt;For
IA64 based Hardware (Both IA64 and Itanium 2):&lt;/u&gt;
&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;Download
and install the specific Itanium provider.&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html"&gt;&lt;font face=Calibri color=#800080 size=3&gt;http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;&lt;b&gt;Remark:&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;&lt;/b&gt;Keep
in mind that specific Itanium Processors, such as Montecito &lt;span style="mso-tab-count: 3"&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;&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; &lt;/span&gt;requires
additional patch offered on the same link!.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;br&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;u&gt;Phase 2:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Establish
an Oracle Connection&lt;br&gt;
&lt;/u&gt;1.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Use
your Oracle DBA to establish your TNS_ADMIN Settings and set your &lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;"tnsnames.ora"
file. 
&lt;br&gt;
2.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Use
the Registry to set a TNS_LANG with equivalent settings as Oracle Server.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;u&gt;Phase 3:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Upgrading &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;to
Oracle Data Access Components (ODAC) 11g&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;-
11.1.0.6.21&lt;/u&gt;
&lt;br&gt;
This phase would solve the need to cast the SQL query to support the numeric data-type.
By using the Oracle Managed Provider for .NET. a Package can be developed without
the need to cast the numeric field. Performance Test shows and estimated throughput
of 1Milion rows per minute.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;b&gt;&lt;u&gt;Important Remarks:&lt;/u&gt;&lt;/b&gt;
&lt;br&gt;
1.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do
not remove previous version of 10.2.0.3 provider!&lt;br&gt;
2.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;This
phase only applies to x64 Type System. No Itanium Support at this time!!&lt;br&gt;
&lt;span style="mso-tab-count: 1"&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; &lt;/span&gt;Itanium
users, would have to solve the numeric casting problem using casting at &lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;the
sql origin.&lt;/font&gt;&lt;/font&gt;&lt;/b&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;Users of the x64 hardware, please download and install
the following component:&lt;br&gt;
&lt;span class=parahead1&gt;Oracle 11&lt;i&gt;g&lt;/i&gt; ODAC and Oracle Developer Tools for Visual
Studio&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;a href="http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html"&gt;&lt;font face=Calibri color=#800080 size=3&gt;http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;u&gt;Phase 4:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Establish
an Oracle Connection&lt;/u&gt;
&lt;br&gt;
Since the 11g ODAC usually setup an additional Oracle Root , we need to establish
additional Oracle Setting for the additional Oracle 11g Root.&lt;/font&gt;&lt;/font&gt;&lt;u&gt;
&lt;br&gt;
&lt;/u&gt;&lt;font face=Calibri size=3&gt;1.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Use
your Oracle DBA to establish your TNS_ADMIN Settings and set your &lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;"tnsnames.ora"
file. 
&lt;br&gt;
2.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Use
the Registry to set a TNS_LANG with equivalent settings as Oracle Server.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;3.&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The
Registry Setting for the 11g provider , would appear under the WOW64 entry&amp;nbsp;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&lt;/span&gt;within
the registry.&lt;/font&gt;
&lt;/p&gt;
&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Which Provider
To Choose:&lt;/font&gt;&lt;/font&gt;&lt;/b&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;Using the SSIS designer within visual studio, be sure to
choose the following provider:&lt;/font&gt;
&lt;/p&gt;
&lt;span class=bodycopy&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Oracle Data Provider for .NET&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=bodycopy&gt;&lt;b&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Please
do not be mistaken with the Oracle Client Provider for .NET which is a Microsoft generic
provider!!!!!&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=bodycopy&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;b&gt;Q.
I can't see the Oracle Data Provider For .NET within the List&lt;/b&gt; ?&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;span class=bodycopy&gt;A.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Please
do the following:&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;span class=bodycopy&gt; 
&lt;ol&gt;
&lt;li&gt;
Download the 
&lt;/span&gt;&lt;span class=parahead1&gt;Oracle 11&lt;i&gt;g&lt;/i&gt; ODAC and Oracle Developer Tools for
Visual Studio&lt;/span&gt;&lt;span class=bodycopy&gt; for x86&amp;nbsp;(32 bit) and&amp;nbsp;&lt;br&gt;
extract the assemblies files.&lt;br&gt;
&lt;/span&gt; 
&lt;li&gt;
&lt;/font&gt;&lt;/font&gt;&lt;span class=bodycopy&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;Using the GAC utility
to register assemblies&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;font size=3&gt;&lt;font face=Calibri&gt;&lt;span class=bodycopy&gt;Go to machine.config of the 64bit
which could be located at:&lt;br&gt;
%&lt;/span&gt;%WindowsDir%&lt;/font&gt;&lt;/font&gt;&lt;span class=bodycopy&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;\Microsoft.NET\Framework\x64\v2.0.50727\Config&lt;br&gt;
And look for the Oracle Data Provider which is located in the "&amp;lt;system.data&amp;gt;"&amp;nbsp;section.&lt;br&gt;
Copy the settings (alter to match the public key of the x86 assemblies) to &lt;span style="mso-tab-count: 1"&gt;&lt;/span&gt;the
machine.config file of&amp;nbsp;&lt;br&gt;
the x86 settings.&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span class=bodycopy&gt;&lt;font size=3&gt;&lt;font face=Calibri&gt;restart the server&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span class=bodycopy&gt;&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt; 
&lt;/li&gt;
&gt;
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;Do not forget to execute SSIS package using either SQL Server
Job (Execute SSIS package step), or by using the dtexec command line.&lt;/font&gt;
&lt;/p&gt;
&lt;font face=Calibri size=3&gt;&amp;nbsp;&lt;/font&gt;&lt;font face=Calibri size=3&gt;Have fun,&lt;/font&gt; 
&lt;p class=MsoNormal dir=ltr style="MARGIN: 0cm 0cm 10pt; DIRECTION: ltr; unicode-bidi: embed; TEXT-ALIGN: left"&gt;
&lt;font face=Calibri size=3&gt;Eran&lt;/font&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div id=comments&gt;
&lt;div class=CommentArea&gt;
&lt;h4 class=CommentTitle&gt;Rob Orchiston said: &lt;img class=CommentArrow id=ctl00_Main_ctl10_ctl02_ctl00_ctl02_ctl01 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align=bottom&gt; 
&lt;/h4&gt;
&lt;div class=CommentText&gt;
&lt;div class=CommentText2&gt;
&lt;div class=CommentText3&gt;
&lt;p&gt;
Hi Eran, I just stumbled across your post here while looking for something unrelated
on google. I spent several hours trying to get thru to a microsoft technical representative
in Nth America to get some help with 64 bit providers on Oracle. The MS call routers
gave me the run around and I never actually talked with an engineer, although my MSDN
subscription allows for several free support calls. 
&lt;/p&gt;
&lt;p&gt;
As for the 64 bit Oracle Providers on our 64 bit Windows Server we couldn't get the
MS or the Oracle provider for Oracle working and on Friday ended up conceeding so
today the Server is being rebuilt as a 32 bit Windows Server. Our test environment
is running 32 bit and SSIS packages work just fine there. I had spent several days
trying to get the 64 bit providers to work but we have a production deadline and a
hosted server which made resolving the issue more problematic.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentFooter&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#155507"&gt;#&lt;/a&gt; October
20, 2008 4:39 PM 
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentAreaOwner&gt;
&lt;h4 class=CommentTitle&gt;&lt;a title="Eran Sagi" href="http://blogs.microsoft.co.il/user/Profile.aspx?UserID=2310"&gt;Eran
Sagi&lt;/a&gt; said: &lt;img class=CommentArrow id=ctl00_Main_ctl10_ctl02_ctl00_ctl03_ctl01 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align=bottom&gt; 
&lt;/h4&gt;
&lt;div class=CommentText&gt;
&lt;div class=CommentText2&gt;
&lt;div class=CommentText3&gt;
&lt;p&gt;
Hi Rob,
&lt;/p&gt;
&lt;p&gt;
I would like to help; could you give me more details?
&lt;/p&gt;
&lt;p&gt;
The Scenario in the Blog is the result of multiple solutions all are working!
&lt;/p&gt;
&lt;p&gt;
From your comments it looks like you main problem was detecting/using the providers!
Here are some thoughts on that issue:
&lt;/p&gt;
&lt;p&gt;
1. Did you manage to use tnsping to test if the
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; oracle server is connected ? (You can also check 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Using PL/SQL or Toad)
&lt;/p&gt;
&lt;p&gt;
2. Most of the 64bit providers, would work only in 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Genuine 64bit environment, meaning, you have to 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Use either the dtexec command line utility or the 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; SQL Server Job (Under 64bit Instance).
&lt;/p&gt;
&lt;p&gt;
3. Using Visual Studio and/or DTExecUI would only 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Activate the 32bit providers. Those providers 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Doesn't include the Oracle Data Provider for .NET, 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Unless specifically installed both 32bit and x64 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; Version!
&lt;/p&gt;
&lt;p&gt;
4. Did you manage to perform "Test Connection" using 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; the Data source Windows of the SSIS ?
&lt;/p&gt;
&lt;p&gt;
Keep in mind the running a 32bit SSIS solution would limit you to a 3GB memory space
(when using the /3GB settings of the system). and limited support for multi threaded.
the performance gaps are usually high!
&lt;/p&gt;
&lt;p&gt;
It is recommended to try harder to achieve 64bit environment.
&lt;/p&gt;
&lt;p&gt;
Since you have contacted your Microsoft Local, try to relay the Call to MCS Israel,
maybe we can help here!
&lt;/p&gt;
&lt;p&gt;
Regards,
&lt;/p&gt;
&lt;p&gt;
Eran
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentFooter&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#155950"&gt;#&lt;/a&gt; October
21, 2008 4:15 PM 
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentArea&gt;
&lt;h4 class=CommentTitle&gt;Mark Frawley said: &lt;img class=CommentArrow id=ctl00_Main_ctl10_ctl02_ctl00_ctl04_ctl01 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align=bottom&gt; 
&lt;/h4&gt;
&lt;div class=CommentText&gt;
&lt;div class=CommentText2&gt;
&lt;div class=CommentText3&gt;
&lt;p&gt;
Hello Eran
&lt;/p&gt;
&lt;p&gt;
I am having this exact problem. &amp;nbsp;Before I embark on the extensive things you
recommended, I have a few questions I hope you can answer:
&lt;/p&gt;
&lt;p&gt;
1 - just before "Phase 4..." you say to download and install "Oracle 11g ODAC and
Oracle Developer Tools for Visual Studio" but don't say anything about 32 vs 64 bit.
&amp;nbsp;Later, in answering what to do if the "Oracle Data Provider For .NET" does not
appear in the list, you specifically say to install the 32 bit version. &amp;nbsp;Is the
overall conclusion that both are to be installed ?
&lt;/p&gt;
&lt;p&gt;
2 - in your response to Rob, #2, where you say most 64 bit providers will only work
in a genuine 64 bit environment and mention using dtexec or an Agent job, are you
suggesting that you cannot execute packages with a 64 bit Oracle provider from within
BIDS ?
&lt;/p&gt;
&lt;p&gt;
Thanks for a very helpful post...
&lt;/p&gt;
&lt;p&gt;
Mark
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentFooter&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bei/archive/2008/10/18/ssis-64bit-using-oracle-provider.aspx#168073"&gt;#&lt;/a&gt; November
17, 2008 2:36 PM 
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=CommentAreaOwner&gt;
&lt;h4 class=CommentTitle&gt;&lt;a title="Eran Sagi" href="http://blogs.microsoft.co.il/user/Profile.aspx?UserID=2310"&gt;Eran
Sagi&lt;/a&gt; said: &lt;img class=CommentArrow id=ctl00_Main_ctl10_ctl02_ctl00_ctl05_ctl01 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=" " src="http://blogs.microsoft.co.il/Themes/Blogs/paperclip/images/spacer.gif" align=bottom&gt; 
&lt;/h4&gt;
&lt;div class=CommentText&gt;
&lt;div class=CommentText2&gt;
&lt;div class=CommentText3&gt;
&lt;p&gt;
Hi Mark,
&lt;/p&gt;
&lt;p&gt;
Well you understood corectly:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; a. You should install Both the 32bit and the 64bit 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;versions. (require geniune x64 environment).
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; b. 64bit SSIS Environemt is enabled during the 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;execution of dtexec and SQL Server Agent job 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;(64 bit version of SQL). Running the package 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;from within the BIDS would result launching a 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;32 bit environment.
&lt;/p&gt;
&lt;p&gt;
I hope that helps,
&lt;/p&gt;
&lt;p&gt;
Eran
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=95edccf6-8512-4f27-93a9-fb967391ebe8" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,95edccf6-8512-4f27-93a9-fb967391ebe8.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=d6545ed7-c491-48a1-8c04-479e8dbd49b0</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,d6545ed7-c491-48a1-8c04-479e8dbd49b0.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,d6545ed7-c491-48a1-8c04-479e8dbd49b0.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d6545ed7-c491-48a1-8c04-479e8dbd49b0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Working with SSIS, a stored procedure was recently changed from a simple select statement
to include some more procedural statements that utilized temporary tables.  Surprisingly
the SSIS package stopped working, even though the result set from the stored procedure
remained the same.  One of the reasons to use the stored procedure in ssis, was
to avoid embedding the login in the SSIS packages related to data access, what gives
?
</p>
        <p>
Error is: 
<hr />
The component is not in a valid state. The validation errors are:<br />
Warning at {6D024AC3-A299-4316-B8D6-BF5A7006768A} [OLE DB Source [1]]: The external
metadata column collection is out of synchronization with the data source columns.
The "external metadata column "employee_office" (36)" needs to be removed from the
external metadata column collection. 
</p>
        <p>
        </p>
        <p>
Do you want the component to fix these errors automatically? 
</p>
        <p>
          <hr />
          <img src="http://www.lifeasbob.com/content/binary/ssis_stored_procedure_metadata.JPG" border="0" />
          <hr />
Some Quick research indicates this error is exactly what it says, metadata. 
SSIS needs to know the metadata, for stored procedures, using an ole db data source,
it does this by querying the first statement in the stored procedure, if the first
statements are temporary tables and not a select statement , you've got the problem.  
I've seen instances where temporary variables are ok and don't cause the problem. 
</p>
        <p>
        </p>
        <p>
I've seen several solutions to this problem using "set fmtonly off" in the SSIS call
and "set nocount on" in the stored procedure.  While "set nocount on" is usually
recommended, i'm not too pleased with the "set fmtonly off" solution, as I've read
issues where this may or may not work and cause performance issues.
</p>
        <p>
There seem to be several different ways to fix this, each of them slightly different,
my preference is option 3.  
</p>
        <p>
1.  Put "set nocount on" in the stored procedure, put "set fmtonly off" before
the execution of the procedure [in the ssis call]. <br /><img src="http://www.lifeasbob.com/content/binary/ssis_set_fmtonly.JPG" border="0" /></p>
        <p>
2.  re-write the stored procedure to use table variables instead of temporary
tables, a good solution as well. 
</p>
        <p>
3.  Add some meta-data and the "set nocount on" to the stored procedure with
a "short circuited if clause" (if 1=0), and a bogus select statement at the top. 
I've tested with trying to leave the "set nocount on" out and it did not work.
</p>
        <span>
          <font color="#0000ff" size="2">
            <p>
            </p>
            <div class="codeseg">
              <div class="codecontent">
                <span>
                  <font color="#0000ff" size="2">
                    <font size="2">
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas">CREATE</span>
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">PROCEDURE</span>
                          <font color="#000000"> [dbo]</font>
                          <span style="COLOR: gray">.</span>
                          <font color="#000000">[GenMetadata]</font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas">AS</span>
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                          </font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">    </font>
                          </span>
                          <span style="COLOR: blue">SET</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">NOCOUNT</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">ON</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>
                            </span>
                          </font>
                        </span> 
</p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">    </font>
                          </span>
                          <span style="COLOR: blue">IF</span>
                          <font color="#000000"> 1 </font>
                          <span style="COLOR: gray">=</span>
                          <font color="#000000"> 0 </font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">        </font>
                          </span>
                          <span style="COLOR: blue">BEGIN</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">            </font>
                          </span>
                          <span style="COLOR: green">--
Publish metadata</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">            </font>
                          </span>
                          <span style="COLOR: blue">SELECT</span>
                          <span>
                            <font color="#000000">  </font>
                          </span>
                          <span style="COLOR: fuchsia">CAST</span>
                          <span style="COLOR: gray">(NULL</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">INT</span>
                          <span style="COLOR: gray">)</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000"> id</font>
                          <span style="COLOR: gray">,</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">                    </font>
                          </span>
                          <span style="COLOR: fuchsia">CAST</span>
                          <span style="COLOR: gray">(NULL</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">NCHAR</span>
                          <span style="COLOR: gray">(</span>
                          <font color="#000000">10</font>
                          <span style="COLOR: gray">))</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000"> [Name]</font>
                          <span style="COLOR: gray">,</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">                    </font>
                          </span>
                          <span style="COLOR: fuchsia">CAST</span>
                          <span style="COLOR: gray">(NULL</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">NCHAR</span>
                          <span style="COLOR: gray">(</span>
                          <font color="#000000">10</font>
                          <span style="COLOR: gray">))</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">AS</span>
                          <font color="#000000"> SirName</font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">        </font>
                          </span>
                          <span style="COLOR: blue">END</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>
                            </span>
                          </font>
                        </span> 
</p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">    </font>
                          </span>
                          <span style="COLOR: green">--
Do real work starting here</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">    </font>
                          </span>
                          <span style="COLOR: blue">CREATE</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: blue">TABLE</span>
                          <font color="#000000"> #test</font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">        </font>
                          </span>
                          <span style="COLOR: gray">(</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>          </span>[id]
[int] </font>
                          <span style="COLOR: gray">NULL,</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>          </span>[Name]
[nchar]</font>
                          <span style="COLOR: gray">(</span>
                          <font color="#000000">10</font>
                          <span style="COLOR: gray">)</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: gray">NULL,</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>          </span>[SirName]
[nchar]</font>
                          <span style="COLOR: gray">(</span>
                          <font color="#000000">10</font>
                          <span style="COLOR: gray">)</span>
                          <font color="#000000">
                          </font>
                          <span style="COLOR: gray">NULL</span>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <span>
                            <font color="#000000">        </font>
                          </span>
                          <span style="COLOR: gray">)</span>
                          <font color="#000000">
                          </font>
                        </span>
                      </p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                        <span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas">
                          <font color="#000000">
                            <span>
                            </span>
                          </font>
                        </span> 
</p>
                      <p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal">
                      </p>
                    </font>
                  </font>
                </span>
              </div>
            </div>
          </font>
        </span>
        <hr />
        <p>
References:
</p>
        <p>
          <a href="http://www.delphi.co.za/PermaLink,guid,56a56e23-d9d5-44dd-9f0b-0f8b80d0b462.aspx">http://www.delphi.co.za/PermaLink,guid,56a56e23-d9d5-44dd-9f0b-0f8b80d0b462.aspx</a>
        </p>
        <p>
          <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=572199&amp;SiteID=1">http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=572199&amp;SiteID=1</a>
        </p>
        <p>
          <a href="http://scotta-businessintelligence.blogspot.com/2007/05/ssis-ole-db-source-component-stored.html">http://scotta-businessintelligence.blogspot.com/2007/05/ssis-ole-db-source-component-stored.html</a>
        </p>
        <p>
          <a href="http://blogs.conchango.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx">http://blogs.conchango.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx</a>
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=d6545ed7-c491-48a1-8c04-479e8dbd49b0" />
      </body>
      <title>SSIS Stored Procedure Metadata</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,d6545ed7-c491-48a1-8c04-479e8dbd49b0.aspx</guid>
      <link>http://www.lifeasbob.com/2008/08/15/SSISStoredProcedureMetadata.aspx</link>
      <pubDate>Fri, 15 Aug 2008 17:56:35 GMT</pubDate>
      <description>&lt;p&gt;
Working with SSIS, a stored procedure was recently changed from a simple select statement
to include some more procedural statements that utilized temporary tables.&amp;nbsp; Surprisingly
the SSIS package stopped working, even though the result set from the stored procedure
remained the same.&amp;nbsp; One of the reasons to use the stored procedure in ssis, was
to avoid embedding the login in the SSIS packages related to data access, what gives
?
&lt;/p&gt;
&lt;p&gt;
Error is: 
&lt;hr&gt;
The component is not in a valid state. The validation errors are:&lt;br&gt;
Warning at {6D024AC3-A299-4316-B8D6-BF5A7006768A} [OLE DB Source [1]]: The external
metadata column collection is out of synchronization with the data source columns.
The "external metadata column "employee_office" (36)" needs to be removed from the
external metadata column collection. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Do you want the component to fix these errors automatically? 
&lt;p&gt;
&lt;hr&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/ssis_stored_procedure_metadata.JPG" border=0&gt; 
&lt;hr&gt;
Some Quick research indicates this error is exactly what it says, metadata.&amp;nbsp;
SSIS needs to know the metadata, for stored procedures, using an ole db data source,
it does this by querying the first statement in the stored procedure, if the first
statements are temporary tables and&amp;nbsp;not a select statement , you've got the problem.&amp;nbsp;&amp;nbsp;
I've seen instances where temporary variables are ok and don't cause the problem. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I've seen several solutions to this problem using "set fmtonly off" in the SSIS call
and "set nocount on" in the stored procedure.&amp;nbsp; While "set nocount on" is usually
recommended, i'm not too pleased with the "set fmtonly off" solution, as I've read
issues where this may or may not work and cause performance issues.
&lt;/p&gt;
&lt;p&gt;
There seem to be several different ways to fix this, each of them slightly different,
my preference is option 3.&amp;nbsp; 
&lt;p&gt;
1.&amp;nbsp; Put "set nocount on" in the stored procedure, put "set fmtonly off" before
the execution of the procedure [in the ssis call].&amp;nbsp;&lt;br&gt;
&lt;img src="http://www.lifeasbob.com/content/binary/ssis_set_fmtonly.JPG" border=0&gt; 
&lt;p&gt;
2.&amp;nbsp; re-write the stored procedure to use table variables instead of temporary
tables, a good solution as well. 
&lt;p&gt;
3.&amp;nbsp; Add some meta-data and the "set nocount on" to the stored procedure with
a "short circuited if clause" (if 1=0), and a bogus select statement at the top.&amp;nbsp;
I've tested with trying to leave the "set nocount on" out and it did not work.
&lt;/p&gt;
&lt;span&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
&lt;div class=codeseg&gt;
&lt;div class=codecontent&gt;&lt;span&gt;&lt;font color=#0000ff size=2&gt;&lt;font size=2&gt; 
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;CREATE&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;PROCEDURE&lt;/span&gt;&lt;font color=#000000&gt; [dbo]&lt;/font&gt;&lt;span style="COLOR: gray"&gt;.&lt;/span&gt;&lt;font color=#000000&gt;[GenMetadata]&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;AS&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SET&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;NOCOUNT&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;ON&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;IF&lt;/span&gt;&lt;font color=#000000&gt; 1 &lt;/font&gt;&lt;span style="COLOR: gray"&gt;=&lt;/span&gt;&lt;font color=#000000&gt; 0 &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&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;&lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: green"&gt;--
Publish metadata&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;CAST&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(NULL&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;INT&lt;/span&gt;&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; id&lt;/font&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&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; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;CAST&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(NULL&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;NCHAR&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;font color=#000000&gt;10&lt;/font&gt;&lt;span style="COLOR: gray"&gt;))&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; [Name]&lt;/font&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&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; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;CAST&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(NULL&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;NCHAR&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;font color=#000000&gt;10&lt;/font&gt;&lt;span style="COLOR: gray"&gt;))&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;AS&lt;/span&gt;&lt;font color=#000000&gt; SirName&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;END&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: green"&gt;--
Do real work starting here&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;CREATE&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;TABLE&lt;/span&gt;&lt;font color=#000000&gt; #test&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[id]
[int] &lt;/font&gt;&lt;span style="COLOR: gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[Name]
[nchar]&lt;/font&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;font color=#000000&gt;10&lt;/font&gt;&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[SirName]
[nchar]&lt;/font&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;font color=#000000&gt;10&lt;/font&gt;&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: gray"&gt;NULL&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;span&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: Consolas"&gt;&lt;font color=#000000&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/font&gt;&lt;/span&gt; 
&lt;hr&gt;
&gt;
&gt;
&lt;p&gt;
References:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.delphi.co.za/PermaLink,guid,56a56e23-d9d5-44dd-9f0b-0f8b80d0b462.aspx"&gt;http://www.delphi.co.za/PermaLink,guid,56a56e23-d9d5-44dd-9f0b-0f8b80d0b462.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=572199&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=572199&amp;amp;SiteID=1&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://scotta-businessintelligence.blogspot.com/2007/05/ssis-ole-db-source-component-stored.html"&gt;http://scotta-businessintelligence.blogspot.com/2007/05/ssis-ole-db-source-component-stored.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.conchango.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx"&gt;http://blogs.conchango.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=d6545ed7-c491-48a1-8c04-479e8dbd49b0" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,d6545ed7-c491-48a1-8c04-479e8dbd49b0.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=fe1e74c1-1c25-4870-9e7e-0f48aec51036</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,fe1e74c1-1c25-4870-9e7e-0f48aec51036.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,fe1e74c1-1c25-4870-9e7e-0f48aec51036.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=fe1e74c1-1c25-4870-9e7e-0f48aec51036</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SSIS, Excel and 64 Bit SQL Server, wonderful together!
</p>
        <font color="#000080" size="2">
          <p>
The connection manager "DestinationConnectionExcel" will not acquire a connection
because the package OfflineMode property is TRUE. When the OfflineMode is TRUE, connections
cannot be acquired.
</p>
        </font>
        <p>
We've seen similiar errors to this before and I blogged something about, blah blah
blah, with a solution like re-installing client tools, before trying that, try this,
it's an easier fix and may work.  This was found by Tom Reeves, an excellent
SQL Server DBA !
</p>
        <p>
Register 32bit dtexec
</p>
        <p>
I ran into this issue yesterday and once in the past and I finally figured out how
to fix it quickly. The issue occurs on a 64bit server trying to use the 32bit dtexec
command. Typically the package will have an excel connection in it or some another
type of object that doesn’t have a 64 bit driver. When you install the 64bit integration
services it registers the 64 bit version of DTEXEC, which in turn unregisters the
32 bit version. To fix this you have to register the 32 bit version again. You can
do this by running the below code from the server with the issue.
</p>
        <b>
          <font face="Verdana" size="1">
            <p>
%windir%\syswow64\regsvr32 "%ProgramFiles(x86)%\Microsoft SQL Server\90\dts\binn\dts.dll"
</p>
          </font>
        </b>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=fe1e74c1-1c25-4870-9e7e-0f48aec51036" />
      </body>
      <title>DestinationConnectionExcel and OfflineMode</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,fe1e74c1-1c25-4870-9e7e-0f48aec51036.aspx</guid>
      <link>http://www.lifeasbob.com/2008/07/31/DestinationConnectionExcelAndOfflineMode.aspx</link>
      <pubDate>Thu, 31 Jul 2008 13:27:01 GMT</pubDate>
      <description>&lt;p&gt;
SSIS, Excel and 64 Bit SQL Server, wonderful together!
&lt;/p&gt;
&lt;font color=#000080 size=2&gt; 
&lt;p&gt;
The connection manager "DestinationConnectionExcel" will not acquire a connection
because the package OfflineMode property is TRUE. When the OfflineMode is TRUE, connections
cannot be acquired.
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
We've seen similiar errors to this before and I blogged something about, blah blah
blah, with a solution like re-installing client tools, before trying that, try this,
it's an easier fix and may work.&amp;nbsp; This was found by Tom Reeves, an excellent
SQL Server DBA !
&lt;/p&gt;
&lt;p&gt;
Register 32bit dtexec
&lt;/p&gt;
&lt;p&gt;
I ran into this issue yesterday and once in the past and I finally figured out how
to fix it quickly. The issue occurs on a 64bit server trying to use the 32bit dtexec
command. Typically the package will have an excel connection in it or some another
type of object that doesn’t have a 64 bit driver. When you install the 64bit integration
services it registers the 64 bit version of DTEXEC, which in turn unregisters the
32 bit version. To fix this you have to register the 32 bit version again. You can
do this by running the below code from the server with the issue.
&lt;/p&gt;
&lt;b&gt;&lt;font face=Verdana size=1&gt; 
&lt;p&gt;
%windir%\syswow64\regsvr32 "%ProgramFiles(x86)%\Microsoft SQL Server\90\dts\binn\dts.dll"
&lt;/p&gt;
&lt;/b&gt;&gt;&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=fe1e74c1-1c25-4870-9e7e-0f48aec51036" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,fe1e74c1-1c25-4870-9e7e-0f48aec51036.aspx</comments>
      <category>SQL Server</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=c458d41d-e8c6-41bb-a20d-c4518693237f</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,c458d41d-e8c6-41bb-a20d-c4518693237f.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,c458d41d-e8c6-41bb-a20d-c4518693237f.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c458d41d-e8c6-41bb-a20d-c4518693237f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <font size="2">
          <p>
We were trying to setup an SSIS Package on a SQL Server, when we would try to
open one of the Data Flow tasks we would get the following error:
</p>
        </font>
        <font size="1">
          <p>
The designer could not be initialized. (Microsoft.DataTransformationServices.Design)……..
</p>
        </font>
        <font size="2">
          <p>
There was more to the error, but I didn’t get a screen shot.
</p>
          <p>
Basically here’s what happened:
</p>
          <p>
Systems affected: 64bit SQL 2005 SP2
</p>
          <p>
When we installed SP2 it uninstalls the 32bit DTS.dll file and replaces it with the
64 bit version. The BIDS tool uses the 32bit version. So the fix was to re-registar
the 32bit dll using the following command: 
</p>
        </font>
        <b>
          <font face="Verdana" size="1">%windir%\syswow64\regsvr32 "%ProgramFiles(x86)%\Microsoft
SQL Server\90\dts\binn\dts.dll"
</font>
        </b>
        <font size="2">
          <p>
Here’s the link to the Microsoft article:
</p>
          <p>
          </p>
        </font>
        <a href="http://support.microsoft.com/kb/919224">
          <u>
            <font color="#0000ff" size="2">http://support.microsoft.com/kb/919224
</font>
          </u>
        </a>
        <font size="2">
        </font>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=c458d41d-e8c6-41bb-a20d-c4518693237f" />
      </body>
      <title>The designer could not be initialized</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,c458d41d-e8c6-41bb-a20d-c4518693237f.aspx</guid>
      <link>http://www.lifeasbob.com/2008/06/11/TheDesignerCouldNotBeInitialized.aspx</link>
      <pubDate>Wed, 11 Jun 2008 19:57:14 GMT</pubDate>
      <description>&lt;font size=2&gt; 
&lt;p&gt;
We were trying to setup an SSIS Package on a SQL Server,&amp;nbsp;when we would try to
open one of the Data Flow tasks we would get the following error:
&lt;/p&gt;
&lt;/font&gt;&lt;font size=1&gt; 
&lt;p&gt;
The designer could not be initialized. (Microsoft.DataTransformationServices.Design)……..
&lt;/p&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
There was more to the error, but I didn’t get a screen shot.
&lt;/p&gt;
&lt;p&gt;
Basically here’s what happened:
&lt;/p&gt;
&lt;p&gt;
Systems affected: 64bit SQL 2005 SP2
&lt;/p&gt;
&lt;p&gt;
When we installed SP2 it uninstalls the 32bit DTS.dll file and replaces it with the
64 bit version. The BIDS tool uses the 32bit version. So the fix was to re-registar
the 32bit dll using the following command: 
&lt;/font&gt;&lt;b&gt;&lt;font face=Verdana size=1&gt;%windir%\syswow64\regsvr32 "%ProgramFiles(x86)%\Microsoft
SQL Server\90\dts\binn\dts.dll"&gt;
&lt;/b&gt;&gt;&lt;font size=2&gt; 
&lt;p&gt;
Here’s the link to the Microsoft article:
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;a href="http://support.microsoft.com/kb/919224"&gt;&lt;u&gt;&lt;font color=#0000ff size=2&gt;http://support.microsoft.com/kb/919224
&lt;/u&gt;&gt;&lt;/a&gt;&lt;font size=2&gt; &gt;
&lt;/font&gt;&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=c458d41d-e8c6-41bb-a20d-c4518693237f" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,c458d41d-e8c6-41bb-a20d-c4518693237f.aspx</comments>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=a67f18ff-cf41-49ea-9d29-f2060602928d</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,a67f18ff-cf41-49ea-9d29-f2060602928d.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,a67f18ff-cf41-49ea-9d29-f2060602928d.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a67f18ff-cf41-49ea-9d29-f2060602928d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Team working an issue with an SSIS package failing on a new installation of SQL Server.
</p>
        <p>
Not sure why, but  basically we had an existing instance on a server.  We
had capacity to install a second instance on the server.  We installed and prepared
the new instance, all works great.
</p>
        <p>
We have an administrative DTS Package that pumps data to an excel spreadsheet and
emails the data.
</p>
        <p>
Could not get the package to run, received the below error.  Note the error in
green, this option is set to false, we tried all kinds of items to change it with
no luck.
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <hr />
Message<br />
Executed as user: VSQLCRM\SYSTEM. ...ute Package Utility  Version 9.00.3042.00
for 32-bit  Copyright (C) Microsoft Corp 1984-2005. All rights reserved.    Started: 
10:27:21 AM  Error: 2008-05-13 10:28:52.79     Code: 0xC0014019    
Source: Tracing_SSIS      <font color="#006400"><strong>Description:
The connection manager "DestinationConnectionExcel" will not acquire a connection
because the package OfflineMode property is TRUE. When the OfflineMode is TRUE, connections
cannot be acquired.</strong></font>  End Error  Error: 2008-05-13 10:28:52.79    
Code: 0xC00291EC     Source: Drop Baseline Tab Execute SQL Task    
Description: Failed to acquire connection "DestinationConnectionExcel". Connection
may not be configured correctly or you may not have the right permissions on this
connection.  End Error  Warning: 2008-05-13 10:28:52.79    
Code: 0x80019002     Source: Populate Baseline Tab     
Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.  The Execution
method succeeded, but the number of e...  Process Exit Code 0.  The step
succeeded.<br /><hr /></p>
        </blockquote>
        <p>
Only solution was to uninstall Client components and re-install them.
</p>
        <p>
Not sure why this works, but somehow the installation of the 2nd instance, and applying
the associated service pack 2 and CU 6 caused this.  It's also possible that
the automated push install from Polyserve somehow causes this, though all the Polyserve
push is an un-intattended install setup script, so the bug would be with that utility
that is run through Polyserve.
</p>
        <p>
Lost 4+ hours worth of work chasing this bug down.
</p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a67f18ff-cf41-49ea-9d29-f2060602928d" />
      </body>
      <title>SSIS "Reindeer" games</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,a67f18ff-cf41-49ea-9d29-f2060602928d.aspx</guid>
      <link>http://www.lifeasbob.com/2008/05/13/SSISReindeerGames.aspx</link>
      <pubDate>Tue, 13 May 2008 20:42:03 GMT</pubDate>
      <description>&lt;p&gt;
Team working an issue with an SSIS package failing on a new installation of SQL Server.
&lt;/p&gt;
&lt;p&gt;
Not sure why, but&amp;nbsp; basically we had an existing instance on a server.&amp;nbsp; We
had capacity to install a second instance on the server.&amp;nbsp; We installed and prepared
the new instance, all works great.
&lt;/p&gt;
&lt;p&gt;
We have an administrative DTS Package that pumps data to an excel spreadsheet and
emails the data.
&lt;/p&gt;
&lt;p&gt;
Could not get the package to run, received the below error.&amp;nbsp; Note the error in
green, this option is set to false, we tried all kinds of items to change it with
no luck.
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;hr&gt;
Message&lt;br&gt;
Executed as user: VSQLCRM\SYSTEM. ...ute Package Utility&amp;nbsp; Version 9.00.3042.00
for 32-bit&amp;nbsp; Copyright (C) Microsoft Corp 1984-2005. All rights reserved.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started:&amp;nbsp;
10:27:21 AM&amp;nbsp; Error: 2008-05-13 10:28:52.79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Code: 0xC0014019&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Source: Tracing_SSIS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;&lt;strong&gt;Description:
The connection manager "DestinationConnectionExcel" will not acquire a connection
because the package OfflineMode property is TRUE. When the OfflineMode is TRUE, connections
cannot be acquired.&lt;/strong&gt;&lt;/font&gt;&amp;nbsp; End Error&amp;nbsp; Error: 2008-05-13 10:28:52.79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Code: 0xC00291EC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source: Drop Baseline Tab Execute SQL Task&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Description: Failed to acquire connection "DestinationConnectionExcel". Connection
may not be configured correctly or you may not have the right permissions on this
connection.&amp;nbsp; End Error&amp;nbsp; Warning: 2008-05-13 10:28:52.79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Code: 0x80019002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source: Populate Baseline Tab&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.&amp;nbsp; The Execution
method succeeded, but the number of e...&amp;nbsp; Process Exit Code 0.&amp;nbsp; The step
succeeded.&lt;br&gt;
&lt;hr&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Only solution was to uninstall Client components and re-install them.
&lt;/p&gt;
&lt;p&gt;
Not sure why this works, but somehow the installation of the 2nd instance, and applying
the associated service pack 2 and CU 6 caused this.&amp;nbsp; It's also possible that
the automated push install from Polyserve somehow causes this, though all the Polyserve
push is an un-intattended install setup script, so the bug would be with that utility
that is run through&amp;nbsp;Polyserve.
&lt;/p&gt;
&lt;p&gt;
Lost 4+ hours worth of work chasing this bug down.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a67f18ff-cf41-49ea-9d29-f2060602928d" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,a67f18ff-cf41-49ea-9d29-f2060602928d.aspx</comments>
      <category>Polyserve</category>
      <category>SQL Server / SSIS</category>
    </item>
    <item>
      <trackback:ping>http://www.lifeasbob.com/Trackback.aspx?guid=a256323c-95f7-4297-9b1d-f9e253c5a395</trackback:ping>
      <pingback:server>http://www.lifeasbob.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.lifeasbob.com/PermaLink,guid,a256323c-95f7-4297-9b1d-f9e253c5a395.aspx</pingback:target>
      <dc:creator>Bob Admin</dc:creator>
      <wfw:comment>http://www.lifeasbob.com/CommentView,guid,a256323c-95f7-4297-9b1d-f9e253c5a395.aspx</wfw:comment>
      <wfw:commentRss>http://www.lifeasbob.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a256323c-95f7-4297-9b1d-f9e253c5a395</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Error: 2008-01-10 21:03:38.38<br />
   Code: 0xC002F210<br />
   Source: Create DB_Stats Worksheet Execute SQL Task<br />
   Description: Executing the query "CREATE TABLE `DB Stats` (`StatDate`
DateTime, `DayTotal` Long, `DBA` Long, `master` Long, `msdb` Long, `EAM` Long, `ASPState`
Long, `EAM_Load` Long, `tempdb` Long)" failed with the following error: "Too many
fields defined.". Possible failure reasons: Problems with the query, "ResultSet" property
not set correctly, parameters not set correctly, or connection not established correctly.<br />
End Error<br />
Warning: 2008-01-10 21:03:38.49<br />
   Code: 0x80019002<br />
   Source: Create DB_Stats Tab 
<br />
   Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. 
The Execution method succeeded, but the number of errors raised (1) reached the maximum
allowed (1); resulting in failure. This occurs when the number of errors reaches the
number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.<br />
End Warning<br /></p>
        <p>
Anyone ?
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a256323c-95f7-4297-9b1d-f9e253c5a395" />
      </body>
      <title>Stupid SSIS to Excel Error</title>
      <guid isPermaLink="false">http://www.lifeasbob.com/PermaLink,guid,a256323c-95f7-4297-9b1d-f9e253c5a395.aspx</guid>
      <link>http://www.lifeasbob.com/2008/01/11/StupidSSISToExcelError.aspx</link>
      <pubDate>Fri, 11 Jan 2008 15:41:55 GMT</pubDate>
      <description>&lt;p&gt;
Error: 2008-01-10 21:03:38.38&lt;br&gt;
&amp;nbsp;&amp;nbsp; Code: 0xC002F210&lt;br&gt;
&amp;nbsp;&amp;nbsp; Source: Create DB_Stats Worksheet Execute SQL Task&lt;br&gt;
&amp;nbsp;&amp;nbsp; Description: Executing the query "CREATE TABLE `DB Stats` (`StatDate`
DateTime, `DayTotal` Long, `DBA` Long, `master` Long, `msdb` Long, `EAM` Long, `ASPState`
Long, `EAM_Load` Long, `tempdb` Long)" failed with the following error: "Too many
fields defined.". Possible failure reasons: Problems with the query, "ResultSet" property
not set correctly, parameters not set correctly, or connection not established correctly.&lt;br&gt;
End Error&lt;br&gt;
Warning: 2008-01-10 21:03:38.49&lt;br&gt;
&amp;nbsp;&amp;nbsp; Code: 0x80019002&lt;br&gt;
&amp;nbsp;&amp;nbsp; Source: Create DB_Stats Tab 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.&amp;nbsp;
The Execution method succeeded, but the number of errors raised (1) reached the maximum
allowed (1); resulting in failure. This occurs when the number of errors reaches the
number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.&lt;br&gt;
End Warning&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Anyone ?
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.lifeasbob.com/aggbug.ashx?id=a256323c-95f7-4297-9b1d-f9e253c5a395" /&gt;</description>
      <comments>http://www.lifeasbob.com/CommentView,guid,a256323c-95f7-4297-9b1d-f9e253c5a395.aspx</comments>
      <category>SQL Server / SSIS</category>
    </item>
  </channel>
</rss>