Microsoft.ACE.OLEDB.12.0 未注册 [英] Microsoft.ACE.OLEDB.12.0 is not registered

查看:96
本文介绍了Microsoft.ACE.OLEDB.12.0 未注册的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a SQL Server job that runs monthly that runs in server. Job is using an SSIS package and is supposed to extract the data from database and and create an Excel sheet and copy the data into Excel 2003.

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

I actually got around 140,000 rows from the database due to truncation issue in Excel 2003 (Excel supports 64,000 rows). So I modified the config file to support 2007 Excel format.

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

但是当我尝试执行作业时,它无法显示错误消息:

But when I try to execute the job, it fails showing error message:

请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.12.0 未注册"

"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

Summarized: INSTALL 32 bit version of Microsoft Access Database Engine 2010 Redistributable. Uninstall 64 bit version if previously installed. 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 位版本.

The Excel connection manager is trying to use the ACE OLE DB provider in order to access the Excel file when the version is above 2007 (xlsx). Although your box is 64-bit, you’re using SQL Server Data Tools, which is a 32-bit application. There is no 64-bit version for SSDT. When you design your package within SSDT, you’re using a 32-bit process, which can only use 32-bit providers. When you try to choose the table in the Excel file, the connection manager needs to access the 32-bit version of the ACE OLE DB provider, but this provider is not registered on your machine, only the 64-bit version is installed.

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

You should download the 32-bit version of the "Microsoft Access Database Engine 2010 Redistributable". When you try to install it, you might get an error message. You should first uninstall only the 64-bit version of the "Microsoft Access Database Engine 2010 Redistributable", which you probably installed previously. The 64-bit version and the 32-bit version can’t live together on the same host, so you’ll have to uninstall (through "Program and Features") and install the other one if you wish to switch between them.

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

Once you finish uninstalling the 64-bit version and installing the 32-bit version of the provider, the problem is solved, and you can finally choose the table within the Excel file. The Excel connection manager is now able to use the ACE OLE DB provider (32-bit version) in order to access the Excel file.

这篇关于Microsoft.ACE.OLEDB.12.0 未注册的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆