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

纵然是瞬间 提交于 2019-12-18 12:19:28

问题


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$]'); 

回答1:


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).



来源:https://stackoverflow.com/questions/29567548/microsoft-ace-oledb-12-0-cannot-be-loaded-in-process-on-a-64-bit-sql-server

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!