“Microsoft.ACE.OLEDB.12.0”无法在 64 位 SQL Server 上进行进程内加载
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29567548/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
"Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server
提问by Pablo G?ereca
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.
无法在 64 位 SQL Server 上加载 32 位 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”。
I found a lot of posts on the web but none work.
我在网上找到了很多帖子,但都没有效果。
I am working with SQL server 2014 64 bits and office 2013
我正在使用 SQL Server 2014 64 位和 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$]');
回答by ASH
As it turns out, you can get the 64-bit driver from here.
事实证明,您可以从这里获得 64 位驱动程序。
https://www.microsoft.com/en-us/download/details.aspx?id=13255
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).
' /passive
' 是这里的关键,因为如果您已经安装了 32 位版本(通过 32 位 Office),它可以防止安装失败。