我的SSIS包在本地Visual Studio中运行良好。该软件包包含(最后)一个进程任务,用于执行生成xml文件的.exe文件。
注意:早些时候,该软件包是在SQL Server 2005中安排的,它运行正常。现在,我已将此包迁移到SQL Server 2012并在2012年创建代理作业。
周一下午4点: 我将软件包部署到SSIS目录,并安排它每周一天下午7点运行。
周一晚上7点: 工作顺利进行。
周二晚上7点: 作业失败,错误
以用户身份执行:ProxyID。 Microsoft(R)SQL Server执行包 实用程序版本11.0.5548.0 for 64位版权所有(C)Microsoft 公司。版权所有。开始时间:上午11:05:02错误: 2015-05-11 11:12:25.65代码:0xC0029151源:执行XML生成器 执行流程任务描述:执行中 " \服务器名\路径\ APP.EXE" "" at"",流程退出代码是 " -532459699"而预期的是" 0" 。结束错误DTExec:包 执行返回DTSER_FAILURE(1)。开始时间:上午11:05:02已完成: 11:12:25 AM经历:442.922秒。包执行失败。 步骤失败了。
周三下午4点:
已打开代理作业
在作业步骤中,取消选择SSIS目录选项(所有内容都已重置)
再次选择SSIS目录并提供相同的服务器名称
从目录
按下确定
周三晚上7点:作业成功运行
周四晚上7点:作业失败并出现同样的错误。
周五下午4点: 我在星期三下午4点做了同样的事情。
周五下午7点: 工作顺利进行。
为什么安排的程序包和SQL代理程序作业的行为如下? 请提供您的建议和帮助。我必须在下次运行之前解决这个问题。非常感谢您的帮助。
答案 0 :(得分:1)
您将从2005年升级到更高版本。确保程序包使用/ x86标志以32位模式运行,或者将dtexec的运行目录更改为Program Files x86中的目录。该标志位于命令行exec中,但如果您将其作为SSIS包执行,则SQL代理作业中有一个复选框。
它将在本地运行正常,因为Visual Studio以32位模式运行。