The requested OLE DB provider Microsoft.ACE.OLEDB.16.0 is not registered. If the 32-bit driver is not installed, run the package in 64-bit mode(请求的OLE DB提供程序Microsoft.ACE.OLEDB.16.0未注册。如果未安装32位驱动程序,请在64位模式下运行程序包) - IT屋-程序员软件开发技术分享社
问题描述
我正在使用Visual Studio 2017创建一个SSIS包。 我有一台Win 10 64位计算机,以及MS Office 2016 64位计算机。
来源:SQL Server数据库
目标:Excel
在Excel连接管理器上,我选择了Excel版本Microsoft Excel 2016
创建的连接字符串如下:
Provider=Microsoft.ACE.OLEDB.16.0;Data Source=\MyServerMyFilePathMyXLSFile20210303.xlsx;Extended Properties="Excel 12.0 XML;HDR=YES";
在Excel目标上,我收到以下错误:
The requested OLE DB provider Microsoft.ACE.OLEDB.16.0 is not registered. If the 32-bit driver is not installed, run the package in 64-bit mode. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered".
我的包>;属性>;调试>;运行64BitRuntime已设置为True。
我已安装Microsoft Access数据库引擎2016 64位(我从https://www.microsoft.com/en-us/download/details.aspx?id=54920下载)。
我无法安装32位版本,因为我收到错误&您无法安装32位版本的Microsoft Access数据库引擎2016,因为您当前已安装64位Office产品。
如何修复此错误?
谢谢
推荐答案
稍微复杂一点。
Visual Studio 2017是一个32位应用程序。这就是为什么它需要在开发上安装一个32位的ACE提供程序。计算机。
可以在同一台计算机上安装两个版本的ACE提供程序,即32位和64位。命令提示符下的/QUIET标志允许这样做。 请查看下面的屏幕截图。作为最终结果,您需要以下各项:
- SSIS开发人员。计算机:32位ACE提供程序,而Run64BitRuntime设置为False。
- 64位ACE提供程序的服务器上的SSIS运行时。
这篇关于请求的OLE DB提供程序Microsoft.ACE.OLEDB.16.0未注册。如果未安装32位驱动程序,请在64位模式下运行程序包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:请求的OLE DB提供程序Microsoft.ACE.OLEDB.16.0未注册。如果未安装32位驱动程序,请在64位模式下运行程序包
基础教程推荐
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01