SSIS Goodie #1: Excel + SSIS + 64 bit = DTS_E_OLEDB_EXCEL_NOT_SUPPORTED ?

Technical Value

The current majority opinion is that the current Office OLEDB provider (Microsoft.ACE.OLEDB.12.0) and 64-Bit environment can't work together. In fact there are some problems using the provider in a 64Bit environment. If you want to know how to use it in SSIS the right way read this article.

Some facts about the Office OLEDB provider and SSIS:

Currently the Office OLEDB provider is 32 bit only!

That is wrong! Microsoft provides a 64 bit version since December 2010. You can download it here: Microsoft Access Database Engine 2010 Redistributable

Developing SSIS packages with the 64 bit Version of the provider does not work!

Unfortunately Microsoft provides Visual Studio as 32 bit application only (Why? ). Therefore it can't access/use 64 bit OLEDB providers. As a consequence of that fact you cannot select the Office OLEDB provider. In an development environment you have to use the 32 bit provider.

Excuting SSIS packages in an 64 bit environment with 64 bit OLE DB driver does not work!

Yes and no! Using the original Excel-Source does not work. It seems that Microsoft implemented an hard if-statement which throws an exception (DTS_E_OLEDB_EXCEL_NOT_SUPPORTED: The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider is available.) if these conditions are met:

  • DTS-Engine runs in 64 bit environment
  • Connection string is "Microsoft.ACE.OLEDB.12.0"

One solution for that is to use the standard OLEDB Source. Select Microsoft.ACE.OLEDB.12.0 as OLEDB provider and set the extended properties to "Excel 14.0;HDR=YES". Now you can use the normal OLEDB source to retrieve data from an Excel file. I found no restrictions so far.

Excel has to be installed where the SSIS package is to be executed!

That is wrong. You only need the Microsoft Access Database Engine 2010 Redistributable

The lesson is clear: Using Office OLEDB in a 64 bit environment with SSIS works (At least at the command line with DTEXEC)!


Daniel Esser, ORAYLIS GmbH
Do, 11.10.2012 - 08:41

Hi Scott I could reproduce the error you got. You wrote that it works now, could you please share the solution with us?

Denis Saprin
Mo, 26.09.2011 - 19:01

Daniel, you'll be my hero, if it's work!
spend some time to find solution and gave me a hope...

Di, 28.02.2012 - 15:54

Hi Daniel,
Nice solution!
But sofar I did not succeed to get it working.
I have SSIS 2008 R2 and installed 64-bit MS Access Database Engine 2010 Redistributable. I changed the extended properties in the job in SSMS (and I tried in the 'Data Sources' tab of the job), but this didn't work. I get the error: Argument "Excel" for option "connection" is not valid. The command line parameters are invalid. The step failed.
I changed the properties from
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=???.xlsx;Extended Properties="EXCEL 12.0;HDR=YES";
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=???.xlsx;Extended Properties="EXCEL 14.0;HDR=YES";
But then this is reset by SSMS to
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=???.xlsx;Extended Properties=Excel 8.0;"EXCEL 14.0;HDR=YES";

I think I will have to install the 32-bit version of the Redistributable to have it work as 32-bit application.
Or do you have another option?


Daniel Esser, ORAYLIS GmbH
Mi, 29.02.2012 - 12:33

Hi Siebe,

at general if you run a package with a Access 12 OLE DB connection in a 32bit environment then you will need the 32-bit version of the Redistributable. In SQL Server 2008 R2 I think you have both options to a run a package 32 bit or 64 bit. As far as I know only the debugger will run packages in 32bit mode. So if you need this feature you have to seperate your package delevopment from the production server where the packages will run on later.


Mi, 29.02.2012 - 01:34

Hi Daniel,
I finally got it working.
In above setup I still used the Excel source instead of the OLE DB source.
However in my case with the OLE DB source, it did not work with the Extended
Properties: EXCEL 14.0;HDR=YES
But it worked, when I used: EXCEL 12.0 Xml;HDR=YES
(this option I found on another site)

Daniel Esser, ORAYLIS GmbH
Mi, 29.02.2012 - 12:28

Hi Siebe,

thank you for the comment. Since Excel 2007 the file format should be compatible. What error did you get with the EXCEL 14.0 extened properties?


Scott Stauffer
Di, 04.09.2012 - 08:59

Thanks, but I did need the extended property of "EXCEL 12.0;HDR=YES" 14 did not work for me either.

When I used 14, I received the following error in SQL 2012 with SSDT:

Test Connection failed because of an error initializing provider. Could not find installable ISAM.

Oh well... working now...

Andrew Lee
Sa, 16.02.2013 - 01:34

Hi all.
I'm running SSIS2008 on 32bits and have trouble inserting into Excel Destination, properties as follows:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\BIDSProjects\SSISVarsNLoopsNThings\ExcelDestination\DynVarTest111v01.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES";

I am still getting this error when I try to open the newly created .xlsx spreadhseet:
Excel cannot open the file 'filename123.xlsx' because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.

Di, 19.02.2013 - 12:21

EXCEL 12.0 XML or EXCEL 12.0 or EXCEL 14.0, everything works, but specific to each different files in Excel. if it is .xls file, EXCEL 12.0 works, if it is .xlsx file EXCEL 12.0 XML works. Actually there are 5 different such versions, just play around to find what works for you.

Daniel, good work in pointing the right direction!

Andrew Lee
Mi, 20.02.2013 - 19:59

Running SSIS2008 in 64-bits mode on Windows7, I tried both
Extended Properties="EXCEL 12.0;HDR=YES";
Extended Properties="EXCEL 12.0 XML;HDR=YES";
Neither worked, I cannot open the .xlsx file with Excel2010
Then I tried this:
Extended Properties=Excel 8.0;"EXCEL 14.0;HDR=YES";
BUT SSIS2008 forcibly defaults the properties to this:
Extended Properties=Excel 8.0;"EXCEL 14.0;HDR=YES";

Andrew Lee
Mi, 20.02.2013 - 22:40

Working BUT not working!
In SSIS2008, I dropped back to 32-bits like this:
Project -> Properties -> Run64BitRuntime=False

Then modified the properties of the Excel connection manager, like this:
Extended Properties="EXCEL 12.0 XML;HDR=YES"

SSIS ran and dropped the .XLS file in the target directory. Note I said .XLS and not .XLSX.

When I tired to open the .XLS spreadsheet, Excel2010 complained it is not in the right file format and is corrupted, but the spreadsheet contains the data. I ran that a few times and as far as SSIS2008 is concerned, it works. As far as Excel2010 is concerned, it is not in the proper format and is corrupted.


Andrew Lee
Mi, 20.02.2013 - 22:47

I can't use this because the client's Excel keeps saying it has improper file format and is corrupted. Does Microsoft know about this with the various incompatible Excel versions?

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.


  • Keine HTML-Tags erlaubt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Web page addresses and email addresses turn into links automatically.
Teilen auf

Newsletter Anmeldung

Abonnieren Sie unseren Newsletter!
Lassen Sie sich regelmäßig über alle Neuigkeiten rundum ORAYLIS und die BI- & Big-Data-Branche informieren.

Jetzt anmelden