sql-server-2008 - SSIS 包级别 OnError 发送两封电子邮件

标签 sql-server-2008 ssis package transformation

我有一个包,每当控制流元素失败时,它就会发送两封电子邮件。例如,如果 ExecuteSQL 任务失败,包级别的 OnError 事件处理程序会触发两封电子邮件。

这是一个已知的问题?我该如何解决这个问题?
我可以通过数据库驱动的脚本来做到这一点,但本质上,我想处理 SSIS 本身的情况。谢谢你的帮助。

最佳答案

请记住,事件处理程序将在触发操作发生时引发事件。因此,您不能保证使用事件处理程序只获得一个事件(当然有一些异常(exception))。

如果您只想保证只有一封电子邮件,那么我建议不要通过 OnError 事件发送电子邮件,而是将作为控制流一部分的“发送电子邮件任务”链接到带有“失败约束”的 ExecuteSQL 任务。

或者,您还可以在 OnError 事件中将用户变量设置为等于 true,然后根据该变量将“完成时”约束与检查 Error 用户变量值的表达式混合发送电子邮件。这样,OnError 事件引发多少次都无关紧要,因为任务只有在至少引发一次时才会运行。

关于sql-server-2008 - SSIS 包级别 OnError 发送两封电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528050/

相关文章:

sql-server - MS-SQL-Server 上的 INSERT 语句中的 UTF-8 字符发生更改

sql - 选择前 10 行之后的下 20 行

sql - SSIS 错误 : The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020

android - 猴子让我的应用程序喵喵叫

R:使 Ryacas 包在 Windows 上运行时遇到问题

c# - 在 C# 中使用 sql float 的 Nhibernate float 问题

postgresql - PostgreSQL 中的动态执行就像在 sql-server 中一样

sql - 从 SSIS 生成 excel 但在每一列中都得到报价?

ssis - 初学者可能会遇到哪些 SSIS 面试问题?

c++ - 在 Windows 10 中使用 vcpkg 安装 Tesseract