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

时间:2016-10-14 10:07:13

标签: excel ssis oledb oledbconnection

我正在尝试在SQL Server Management Studio中运行一个执行SSIS包的作业。 SSIS包将数据从excel文件复制到数据库。

我安装了64位版本的Microsoft Access数据库引擎(https://www.microsoft.com/en-us/download/details.aspx?id=13255)。当我尝试单独运行SSIS包(通过数据工具,而不是作业)时,它显示有关ACE.OLEDB未注册的错误。将SSIS包作为作业运行时出现了同样的错误。

我卸载了64位版本并安装了它的32位版本。它在我自己运行SSIS包时有效。
当我尝试将包作为工作运行时,我收到以下错误:

  

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

我编辑作业步骤,转到“执行选项”并勾选“使用32位运行时”框。
当勾选方框并运行作业时,我收到以下错误:

  

“发生了OLE DB错误。错误代码:0x80004005。一个OLE DB   记录可用。来源:“Microsoft Access数据库引擎”   Hresult:0x80004005描述:“未指定的错误”。

我也尝试过安装ACE.OLEDB的JET.OLEDB,但没有任何作用。
我可以自己运行SSIS包但是当我尝试将它作为SQL Server Management Studio中的一个工作步骤运行时,我总是得到上面提到的两个错误,具体取决于是否勾选了32位框。

1 个答案:

答案 0 :(得分:1)

事实证明,用于运行作业的代理帐户没有正确的权限。

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