“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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 03:30:51  来源:igfitidea点击:

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

sqlssisms-office

提问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),它可以防止安装失败。