【发布时间】:2020-09-24 11:02:57
【问题描述】:
SSIS 事件处理程序非常有用。事件处理程序可以在包本身的级别添加,也可以为包中的任何可执行文件添加。这与 Propagate 属性一起,对于允许某些操作以自己的方式处理错误非常有用。例如,一个循环可以通过记录“这一行的键 [whatever] 有问题”来对错误做出反应,继续处理其余的行,而不触发包的错误处理程序,该处理程序被保存为更致命的,一般错误(例如服务器宕机)。
事件处理程序的位置数量也是一个诅咒。在 Visual Studio 中,您可以在 Event Handlers 选项卡中查看、添加或更改事件处理程序。如果我想为任务 ExecuteSomeSQL 或序列容器 DoSomeThings 添加事件处理程序,或者为这些我已经知道的可执行文件找到事件处理程序,那就太好了。
但它不适合快速找出包中的哪些可执行文件实际上有任何事件处理程序。为此,我必须在可执行文件树中单击 每个 可执行文件,并查看每个文件在 Event Handlers 下是否有任何内容。
另一种观点会使这更容易。要么:
- 以非树的方式显示所有现有的事件处理程序,就像一个列表一样。 Package.OnError、Package.OnTaskFailed、(序列)DoSomeStuff.OnPostExecute 等...
- 或者,允许过滤树视图以仅显示具有任何事件处理程序的可执行文件。
我是否遗漏了什么,实际上已经有一个很好的方法来查看这个吗?
【问题讨论】:
标签: error-handling ssis