【问题标题】:"Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server“Microsoft.ACE.OLEDB.12.0”无法在 64 位 SQL Server 上以进程方式加载
【发布时间】:2015-04-10 17:40:08
【问题描述】:

我找不到这个错误的解决方案:

32 位 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”无法在 64 位 SQL Server 的进程中加载​​。

我在网上找到了很多帖子,但都没有。

我正在使用 SQL Server 2014 64 位和 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$]'); 

【问题讨论】:

  • 你能发布产生这个错误的代码吗?
  • 确定这是代码: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 位驱动程序here?有several references 可以解决类似的问题。
  • 感谢 paqo gomez,Gracias paco eso corrigio el problema,
  • 优秀的,非放置者。

标签: sql ssis ms-office


【解决方案1】:

事实证明,您可以从这里获得 64 位驱动程序。

https://www.microsoft.com/en-us/download/details.aspx?id=13255

下载后不要双击安装,使用命令提示符安装,应该是这样的:

"C:\Users\rshuell001\Downloads\AccessDatabaseEngine_x64.exe" /passive

/passive”是这里的关键,因为如果您已经安装了 32 位版本(通过 32 位 Office),它可以防止安装失败。

【讨论】:

  • 您知道为什么安装 64 位驱动程序(带或不带 /passive 密钥)会失败吗?错误消息说明了这一点。以管理员或普通用户身份运行,没有区别。
猜你喜欢
  • 2016-03-05
  • 1970-01-01
  • 2011-02-23
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-09
相关资源
最近更新 更多