The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode

匿名 (未验证) 提交于 2019-12-03 01:45:01

问题:

I'm trying to run a job in SQL Server Management Studio that executes a SSIS package. The SSIS package copies data from an excel file to a database.

I installed the 64-bit version of Microsoft Access Database Engine (https://www.microsoft.com/en-us/download/details.aspx?id=13255). When I tried to run the SSIS package by itself (through Data Tools, not as a job) it displayed an error about ACE.OLEDB not being registered. I got the same error when running the SSIS package as a job.

I uninstalled the 64-bit version and installed it's 32-bit counterpart. It works when I run the SSIS package by itself.
When I try to run the package as a job I get the following error:

"The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode"

I edit the job step, go to 'execution options' and tick the 'use 32 bit runtime' box.
When the box is ticked and I run the job I'm getting the following error:

"An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft Access Database Engine" Hresult: 0x80004005 Description: "Unspecified error".

I also tried installing JET.OLEDB instaed of ACE.OLEDB but nothing works.
I can run the SSIS package by itself but when I try to run it as a job step in SQL Server Management Studio I always get the two errors mentioned above depending on whether the 32 bit box is ticked or not.

回答1:

It turns out that the proxy account which was used to run the job didn't have the right permissions.

https://support.microsoft.com/en-us/kb/933835



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!