“Microsoft.ACE.OLEDB.12.0"无法在 64 位 SQL Server 上进行进程内加载 [英] "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:
无法在 64 位 SQL Server 上加载 32 位 OLE DB 提供程序Microsoft.ACE.OLEDB.12.0".
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.
我正在使用 SQL Server 2014 64 位和 Office 2013
I am working with SQL server 2014 64 bits and office 2013
产生错误的代码:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;Database=C:SSISTable_nm.xlsx',
'SELECT * FROM [Table_nm$]');
推荐答案
事实证明,您可以从这里获得 64 位驱动程序.
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
shuell001DownloadsAccessDatabaseEngine_x64.exe" /passive
'/passive
' 是这里的关键,因为如果您已经安装了 32 位版本(通过 32 位 Office),它可以防止安装失败.
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).
这篇关于“Microsoft.ACE.OLEDB.12.0"无法在 64 位 SQL Server 上进行进程内加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!