我正在尝试编写一个将在某些服务器上执行审计的SSIS包。审计完成后,它会向负责服务器的系统管理员发送电子邮件,告诉他们已经执行了审计,并在哪里可以找到审计报告。SSIS foreach循环,继续,但也对失败的迭代执行操作?
我遇到的问题是,当审计因任何原因失败(无法连接到服务器和什么)时,我想向系统管理员发送一封电子邮件,说它失败了。很高兴说出它的失败位置,但如果我必须解决一个简单的“失败”电子邮件,那么也没关系。只要他们知道它没有运行。
因此,我通过添加错误处理程序,其中变量传播设置为false,克服了'失败的foreach循环'继续。
如何获得发送失败电子邮件的任务?我是否必须为foreach循环中的每个任务添加一个“OnError”事件处理程序(29个任务)?还是有一些神奇的“失败的迭代执行此任务”?
谢谢你的时间。
也许使用一个容器来设置只在容器上的OnError事件 – mxix
@mxix这个工作是否也会传播呢? – Aserian
@mxix刚刚测试过,不起作用。问题是继续一个foreach循环,你必须禁用在失败的组件(foreach中的任务)上传播,这会导致foreach实际上成功 - 因此没有错误被捕获,因为“没有任何错误”。 – Aserian