我正试图在执行SSIS包的SQL Server管理工作室中运行一个作业。SSIS包将excel文件中的数据复制到数据库中。
我安装了64位版本的Microsoft Access Database Engine (https://www.microsoft.com/en-us/download/details.aspx?id=13255)。当我试图单独运行SSIS包(通过数据工具,而不是作为作业)时,它显示了一个关于ACE的错误。未注册OLEDB。当运行SSIS包作为作业时,我得到了相同的错误。
我卸载了64位版本并安装了32位版本。当我单独运行SSIS包时,它可以工作。
当我尝试将包作为作业运行时,我得到以下错误:
"请求的OLEDB提供程序Microsoft.ACE.OLEDB.12.0不是注册。如果未安装64位驱动程序,请在32位模式"
我编辑作业步骤,转到"执行选项"并勾选"使用32位运行时"框。
当框被选中并运行作业时,我得到以下错误:
"发生OLE DB错误。"错误码:0x80004005。OLE DB有记录。来源:"Microsoft Access数据库引擎"Hresult: 0x80004005描述:"Unspecified error".
我也试过安装JET。OLEDB而不是ACE。OLEDB,但没有工作。
我可以自己运行SSIS包,但当我尝试在SQL Server Management Studio中将其作为工作步骤运行时,我总是得到上述两个错误,这取决于32位框是否勾选。
原来用于运行作业的代理帐户没有正确的权限。
https://support.microsoft.com/en-us/kb/933835