I have a SSIS job I created in SQL Server 2008 R2. I have simplified it down to a ADO.NET source (SQL Server DB Table) and a ADO.NET SQL Server Destination (another table). As simple as I can get. The job just copies one table to another.
I am running it in the debugger.
If I set the properties/debugging/Run64BitRuntime to 'True' it fails. If I set the flag to 'false' (run in 32 bit mode) it works.
The error on the fail is some cryptic message (see the error at the bottom of this note).
I have the .NET framework installed and assume the ADO.NET drivers are 64 bit.
I am on Windows 7 64 bit.
I can find no other info online about ADO.NET drivers not working in 64 bit.
Anyone have any idea to help me? Why would 64 bit ADO.NET drivers not work?
[ADO NET Destination [49]] Error: Failed to get properties of external columns. The table name you entered may not exist, or you do not have SELECT permission on the table object and an alternative attempt to get column properties through connection has failed.
Detailed error messages are:
Exception has been thrown by the target of an invocation.
Unable to load DLL 'shfolder.dll': The device is not ready. (Exception from HRESULT: 0x80070015)
My question is why do you need to debug in 64 bit? I know for us, we debug in 32 bit but that's because we have a 64 bit instance installed with a 32 bit integration services instance installed. I didn't think it was typical for local machines to run IS package in 64 bit. With that being said, make sure you have 64 bit everything installed (BIDS, SSDT-BI, IS, SQL) because if even one is 32 bit then you will experience this issue.
User contributions licensed under CC BY-SA 3.0