rvp*_*phx 5 ssis transformation package sql-server-2008
我有一个程序包,每当控制流元素发生故障时,它都会发出两封电子邮件。例如,如果ExecuteSQL任务失败,则程序包级别的OnError事件处理程序将触发两封电子邮件。
这是一个已知的问题?我该如何解决?我可以通过数据库驱动的脚本来完成此操作,但从本质上讲,我想处理SSIS本身的情况。谢谢你的帮助。
请记住,只要触发操作发生,事件处理程序就会引发事件。因此,不能保证您只能使用事件处理程序获取一个事件(当然也有一些例外)。
如果您只想保证一封电子邮件,那么我建议不要通过 OnError 事件发送电子邮件,而是链接一个“发送电子邮件任务”,该任务是控制流的一部分,并通过“失败约束”连接到 ExecuteSQL 任务。
或者,您还可以在 OnError 事件中将用户变量设置为 true,然后根据带有“完成时”约束的电子邮件发送电子邮件,该约束与检查 Error 用户变量值的表达式混合。这样,OnError 事件引发多少次并不重要,因为只有至少引发一次任务才会运行。