首页 > 解决方案 > 需要 SSIS 包 OnError 事件处理程序的可重复方法

问题描述

这里工作的所有 SSIS 包都有一个相同的 OnError 事件处理程序,我正在寻找一种方法来避免为每个包创建相同的处理程序。事件处理程序首先查询一个表以获取电子邮件地址列表,然后将电子邮件发送到收件人列表,在正文中包括包名称、包错误、错误日期和时间等。执行 SQL 查询和电子邮件任务是每个包事件处理程序中的字面意思都是相同的。有没有办法模块化这个例程?也许通过调用另一个处理这一切的包?我想消除(或几乎消除)开发人员在创建、重新创建和再次重新创建这个相同的过程时犯错的机会。他们现在完成的方式将是一项艰巨的任务,要对我们所有包中的错误处理过程进行简单的更改。

标签: event-handlingssis-2012modularityonerror

解决方案


经过大量搜索,我想我已经确定了我的最佳选择:自定义 SSIS 任务、子包或存储过程(在执行 SQL 任务中)。我不知道如何制作自定义任务,所以我将选择子包并将各种执行状态变量(如错误描述、错误号、包名、包开始时间等)传递给子包封装为参数。我假设我可以制作一个自定义任务,只需将其放入错误处理程序即可正常工作,但我没有时间学习如何。


推荐阅读