In my SSIS package (SQL Server 2012) I set a stored procedure result set in an object variable using the Execute SQL Task. The connection manager I use has the following connection string:
Data Source=localhost;Initial Catalog=<myCatalog>;Provider=SQLNCLI11;Integrated Security=SSPI;Auto Translate=False;
My store procedure output is a result set containing a DateTimeOffset column and a Time(3) column. The Execute SQL Task executes succesfully. Then I have a Script Task in which I use the object variable set by the Execute SQL Task in this way:
OleDbDataAdapter da = new OleDbDataAdapter();
DataTable dt = new DataTable();
// Extract the data from the object variable into the table
da.Fill(dt, Dts.Variables["User::ResultsetObj"].Value);
When I execute the package I get this error:
ERROR: OleDbDataAdapter internal error: invalid row set accessor: Ordinal=20 Status=UNSUPPORTEDCONVERSION.
By default the Script Task uses the .NET Framework 4. What's wrong with the OleDbAdapter? Are these data types really unsupported?
Thank you.