"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.
我正在使用64位SQL Server 2014和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:\SSIS\Table_nm.xlsx',
'SELECT * FROM [Table_nm$]');
推荐答案
事实证明,您可以从这里获取64位驱动程序.
As it turns out, you can get the 64-bit driver from here.
https://www.microsoft.com/zh-我们/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
此处的键是/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屋!