28 Feb

SSIS Excel Run As 32bit (Run64BitRuntime)

I know I’m not the only one who does this, and I know I’ll do it again, but when I use Excel files in SSIS I always crash and get the following error.

[Excel Source [2]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager “Excel Connection Manager” failed with error code 0xC0209303. There may be error messages posted before this with more information on why the AcquireConnection method call failed.

It’s so clear that I have no idea how it could confuse anyone. It tells you exactly what the problem is and since the progress window text doesn’t wrap you couldn’t possibly get confused.  You will also have this error message, which will make a lot more sense.

[Connection manager “Excel Connection Manager”] Error: The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.
An OLE DB record is available. Source: “Microsoft OLE DB Service Components” Hresult: 0x80040154 Description: “Class not registered”.

The error means exactly what it says, you have to run the project in 32bit mode.  Here is how you do that.

  1. Open the “Solution Explorer”
  2. Right-click on the project and select Properties.
  3. Click on Configuration, then debugging.
  4. Change Run64BitRuntime to false.

I’m not here to do a dissertation on why SSIS develops one way, and runs in another, I just wanted to give you a quick answer to an annoying problem that I always forget about.

Here’s more information.