为什么我的SQL Server作业使用SSIS包失败但是相同的SSIS包在Visual Studio中成功运行?

时间:2017-10-12 13:11:21

标签: sql-server ssis sql-job

我使用SSIS Import and Export Wizard在Visual Studio中创建了一个SSIS包,当我在那里运行它时,它成功运行。基本上,SSIS包在我的SQL Server数据库上运行sql查询,并将结果导出到Excel文件中。

我已将该程序包打包到SQL Server作业中,并将其安排在特定时间运行。我注意到它失败了,日志文件显示以下错误消息:

Microsoft(R)SQL Server执行包实用程序12.0.5000.0版,适用于64位版权所有(C)Microsoft Corporation。版权所有。开始时间:4:44:00 PM错误:2017-10-12 16:44:00.59代码:0xC0016016源:ExpExcel描述:无法解密受保护的XML节点" DTS:密码"错误0x8009000B"密钥无法在指定状态下使用。"。您可能无权访问此信息。出现加密错误时会发生此错误。验证是否有正确的密钥。结束错误错误:2017-10-12 16:44:00.68代码:0xC0209303来源:ExpExcel连接管理器" DestinationConnectionExcel"描述:请求的OLE DB提供程序Microsoft.Jet.OLEDB.4.0未注册。如果未安装64位驱动程序,请以32位模式运行程序包。错误代码:0x00000000。 OLE DB记录可用。来源:" Microsoft OLE DB服务组件" Hresult:0x80040154描述:"类未注册"。结束错误错误:2017-10-12 16:44:00.68代码:0xC00291EC源:删除表SQL任务1执行SQL任务描述:无法获取连接" DestinationConnectionExcel"。可能未正确配置连接,或者您可能无法在此连接上拥有正确的权限。结束错误错误:2017-10-12 16:44:00.68代码:0xC0209303来源:ExpExcel连接管理器" DestinationConnectionExcel"描述:请求的OLE DB提供程序Microsoft.Jet.OLEDB.4.0未注册。如果未安装64位驱动程序,请以32位模式运行程序包。错误代码:0x00000000。 OLE DB记录可用。来源:" Microsoft OLE DB服务组件" Hresult:0x80040154描述:"类未注册"。结束错误错误:2017-10-12 16:44:00.68代码:0xC00291EC源:准备SQL任务1执行SQL任务描述:无法获取连接" DestinationConnectionExcel"。可能未正确配置连接,或者您可能无法在此连接上拥有正确的权限。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始时间:下午4:44:00结束时间:下午4:44:00经过:0.219秒。包执行失败。步骤失败。,00:00:00,0,0 ,,, 0

我很难弄清楚如何调试这些错误并找到解决方案。如果我的SSIS包在Visual Studio中运行正常(安装在与SQL Server相同的机器上),那么为什么它作为SQL Server作业失败?

我还必须补充说,该计算机上未安装Microsoft Office。这可能是原因吗?

2 个答案:

答案 0 :(得分:0)

创建软件包时,可能已设置了用户密钥保护级别。意味着使用您的用户密钥加密任何敏感信息(密码)。通过扩展,这意味着只有您可以真正打开/运行包。您最好的选择(在我看来需要花费最少的精力)是使用密码加密包,然后您可以在创建SQL代理作业时指定该密码。

答案 1 :(得分:0)

您需要在SQL作业代理步骤中启用32位 - 如果这不起作用,则需要为EXCEL安装OLDB ACE驱动程序

驱动程序链接:

Microsoft ACE Driver

正如其他人指出的那样。您的项目保护级别需要与程序包保护级别相同。您可以在包和项目的属性下更改它。

如何在步骤中设置SQL作业代理中的步骤32位 enter image description here

相关问题