简体   繁体   中英

“Microsoft.ACE.OLEDB.12.0” cannot be loaded in-process on a 64-bit SQL Server

I can not find a solution for this error:

The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server.

I found a lot of posts on the web but none work.

I am working with SQL server 2014 64 bits and office 2013

Code that generates the error:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0 Xml;HDR=YES;Database=C:\SSIS\Table_nm.xlsx', 
                         'SELECT * FROM [Table_nm$]'); 

As it turns out, you can get the 64-bit driver from here.

https://www.microsoft.com/en-us/download/details.aspx?id=13255

After you download it, don't double-click it to install it, install it using the command prompt, which should be something like this:

"C:\Users\rshuell001\Downloads\AccessDatabaseEngine_x64.exe" /passive

The ' /passive ' is the key here because it prevents the installation from failing if you already have the 32-bit version installed (via 32-bit Office).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM