gpt4 book ai didi

ssis - Microsoft.ACE.OLEDB.12.0 未注册

转载 作者:行者123 更新时间:2023-12-03 06:17:00 25 4
gpt4 key购买 nike

我有一个每月运行一次的 SQL Server 作业,该作业在服务器中运行。作业使用 SSIS 包,应该从数据库中提取数据并创建 Excel 工作表并将数据复制到 Excel 2003 中。

由于 Excel 2003 中的截断问题,我实际上从数据库中获取了大约 140,000 行(Excel 支持 64,000 行)。所以我修改了配置文件以支持2007 Excel格式。

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="  +  @[User::FullPath]  + ";Extended Properties=\"Excel 12.0;HDR=YES\"

但是当我尝试执行该作业时,它失败并显示错误消息:

"The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered"

最佳答案

总结:安装 32 位版本Microsoft Access Database Engine 2010 Redistributable。如果之前安装过,请卸载64 位版本http://www.microsoft.com/en-us/download/details.aspx?id=13255

当版本高于 2007 (xlsx) 时,Excel 连接管理器正在尝试使用 ACE OLE DB 提供程序来访问 Excel 文件。尽管您的机器是 64 位,但您使用的是 SQL Server Data Tools,它是一个 32 位应用程序。 SSDT 没有 64 位版本。当您在 SSDT 中设计包时,您使用的是 32 位进程,该进程只能使用 32 位提供程序。当您尝试选择 Excel 文件中的表时,连接管理器需要访问 32 位版本的 ACE OLE DB 提供程序,但该提供程序未在您的计算机上注册,仅安装了 64 位版本。/p>

您应该下载32位版本的“Microsoft Access Database Engine 2010 Redistributable”。当您尝试安装它时,您可能会收到一条错误消息。您应该首先仅卸载您之前可能安装的“Microsoft Access Database Engine 2010 Redistributable”的 64 位版本。 64 位版本和 32 位版本不能在同一主机上共存,因此如果您想在它们之间切换,则必须卸载(通过“程序和功能”)并安装另一个版本。

卸载64位版本并安装32位版本的提供程序后,问题就解决了,您终于可以选择Excel文件中的表格了。 Excel 连接管理器现在可以使用 ACE OLE DB 提供程序(32 位版本)来访问 Excel 文件。

关于ssis - Microsoft.ACE.OLEDB.12.0 未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24028775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com