请求的OLE DB提供程序Microsoft.ACE.OLEDB.16.0未注册。如果未安装32位驱动程序,请在64位模式下运行程序包

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屋-程序员软件开发技术分享社

本文介绍了请求的OLE DB提供程序Microsoft.ACE.OLEDB.16.0未注册。如果未安装32位驱动程序,请在64位模式下运行程序包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用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位模式下运行程序包

基础教程推荐