控制流项失败时发送其他信息?

时间:2017-04-26 15:27:52

标签: sql-server sql-server-2008 ssis ssis-2008

我的非常简单的 SSIS包有三个control flow items:其中两个可以正常工作,第三个发送电子邮件时,其中任何一个都失败了。

就目前而言,如果任何项目失败,我会收到一封通用电子邮件,说明包裹失败。

是否可以发送"发送错误电子邮件"控制流项目的一些附加信息,以便我知道哪个失败了?例如,如果Data Flow Task失败,它可以向Send error email发送一些其他信息。它可以只是名字,但任何可以帮助我识别内容的东西。

这就是我的SSIS包的样子:

enter image description here

这可以通过添加第4项来轻松解决,这样每​​个项目都有自己的失败过程,但必须采用另一种方式。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以创建一个包级变量来保存要添加到电子邮件中的上下文相关消息,并将脚本任务添加到两个其他任务的OnError事件处理程序中,这些任务使用您想要的任何内容填充变量为该任务说的消息。

然后在您的SendEmail任务中,您显然会读取该变量以将其添加到您的电子邮件文本中。

答案 1 :(得分:0)

创建一个变量说DevErrorCode,如果任务1失败则将其设置为1,如果任务2失败则将其设置为2,默认情况下设为0表示没有任何失败。在错误流上,您可以使用表达式任务设置这些变量。在发送电子邮件之前,请检查此变量的值并相应地更新您的电子邮件正文。