将退出代码从 SSIS 包返回到外部调度程序

Bou*_*rby 3 ssis

我正在使用 dtexec 从外部调度程序 (Control-M) 运行 SSIS 包。我想根据包的哪一部分失败为调度程序提供不同的错误代码。有没有办法在包失败时设置 dtexec 的返回码?

如果没有,有没有人知道另一种将状态传送回调度程序的方法?

谢谢

Wil*_*man 5

看来 DTEXEC 有一个特定的退出代码列表,不能从包内以编程方式设置。此信息来自http://msdn.microsoft.com/en-us/library/ms162810.aspx

从 dtexec 实用程序返回的退出代码

当包运行时,dtexec 可以返回退出代码。退出代码用于填充 ERRORLEVEL 变量,然后可以在批处理文件中的条件语句或分支逻辑中测试其值。下表列出了 dtexec 实用程序在退出时可以设置的值。

值 说明
0 包执行成功。
1 包失败。
3 包裹被用户取消。
4 实用程序无法找到请求的包。找不到包。
5 实用程序无法加载请求的包。无法加载包。
6 实用程序在命令行中遇到语法或语义错误的内部错误。

我建议在您的包上使用多种类型的 SSIS 错误日志记录中的一种,然后使用另一个进程来检查日志,以防万一,以确定您的失败在包中的哪个位置。