当行被定向到输出错误时的 SSIS 电子邮件消息
SSIS E-mail Msg when rows get directed to OutputError
我进行了验证,如果失败,它会被定向到“OutputError”列。最终将这些行存储在最后的 table 中 reviewed/dealt with.
计划是这不会在每次程序包运行时发生。
所以我想在一行发送到“OutputError”时给自己发送一封电子邮件。所有行一封电子邮件。
或者它可能在最后一步触发,将记录插入错误 sql table,这是一个 OLE DB 目标数据流任务。如果使用该 OLE DEB 目标插入 1 行或多行,则发送电子邮件。
在实际将错误行写入 table.
的 OLE DB 目标之前,将脚本组件添加到您的数据流任务中,充当转换(默认)
该组件将始终“点亮”,因此您需要在其中实现一个简单的行计数或设置一个布尔标志“是的,我们至少看到了一行”。这将通过声明您在 PreExecute
步骤中初始化的 class level/member 变量来完成。
在 ... 我不记得名字了,但 OnPipelineRowSent
之类的东西增加了计数器或将标志设置为 true。实际计数并不重要,是的,您可以检查该值是否已经为真,但这是一个微不足道的操作,所以我不会担心浪费的周期。
然后在 PostExecute
方法中,您将检查总行数 > 0 或“至少一行”标志是否为真。然后发送你的电子邮件 activity.
我进行了验证,如果失败,它会被定向到“OutputError”列。最终将这些行存储在最后的 table 中 reviewed/dealt with.
计划是这不会在每次程序包运行时发生。
所以我想在一行发送到“OutputError”时给自己发送一封电子邮件。所有行一封电子邮件。
或者它可能在最后一步触发,将记录插入错误 sql table,这是一个 OLE DB 目标数据流任务。如果使用该 OLE DEB 目标插入 1 行或多行,则发送电子邮件。
在实际将错误行写入 table.
的 OLE DB 目标之前,将脚本组件添加到您的数据流任务中,充当转换(默认)该组件将始终“点亮”,因此您需要在其中实现一个简单的行计数或设置一个布尔标志“是的,我们至少看到了一行”。这将通过声明您在 PreExecute
步骤中初始化的 class level/member 变量来完成。
在 ... 我不记得名字了,但 OnPipelineRowSent
之类的东西增加了计数器或将标志设置为 true。实际计数并不重要,是的,您可以检查该值是否已经为真,但这是一个微不足道的操作,所以我不会担心浪费的周期。
然后在 PostExecute
方法中,您将检查总行数 > 0 或“至少一行”标志是否为真。然后发送你的电子邮件 activity.