sql - 无法在64位SQL Server上在进程中加载​​“Microsoft.ACE.OLEDB.12.0”

标签 sql ssis ms-office

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


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


我在网络上发现了很多帖子,但都无济于事。

我正在使用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$]'); 

最佳答案

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

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

下载后,请勿双击以进行安装,请使用命令提示符进行安装,该过程应如下所示:

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


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

关于sql - 无法在64位SQL Server上在进程中加载​​“Microsoft.ACE.OLEDB.12.0”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29567548/

相关文章:

c# - 如何使用 MySqlParameter 有条件地将列设置为其默认值?

sql - TSQL从动态sql中选择临时表

excel - 您组织的策略阻止我们完成此操作 - Microsoft Office

c# - 带边框的单词表

version-control - SSIS 中脚本组件 C# 文件的版本控制

vba - 如果使用默认加密(高安全性)进行密码保护,是否无法使用 Excel Access Access 2010 数据库?

PHP/MySQL 下拉菜单

mysql - 如何通过一个请求合并 2 个表

sql-server - 什么图像用于通过 bitbucket 云自动将 SSIS 包部署到 SQL Server?

file - 具有可变列号的 SSIS 平面文件