error-handling - 有什么方法可以快速查看所有现有的SSIS包事件处理程序?

标签 error-handling ssis

SSIS事件处理程序非常有用。可以在包本身的级别或为包中的任何可执行文件添加事件处理程序。这与Propagate属性一起,对于允许某些操作以自己的方式处理错误非常有用。例如,循环可以通过记录以下内容来对错误使用react:记录“此行有键[无论有什么问题]”,继续进行其余的行,而不会触发程序包的错误处理程序,该错误处理程序被保存为更致命的信息,一般错误(例如服务器故障)。
可以有一个事件处理程序的地方的数目也是一个诅咒。在Visual Studio中,可以在“事件处理程序”选项卡上查看,添加或更改事件处理程序。如果我想向任务ExecuteSomeSQL添加事件处理程序,或为序列容器DoSomeThings添加事件处理程序,或者为我已经知道的这些可执行文件找到事件处理程序,那是很棒的。
但这并不适合快速找出包中的哪些可执行文件实际上具有任何事件处理程序。为此,我必须在可执行文件树中单击每个可执行文件,然后查看每个事件处理程序下是否都有任何内容。
另一种观点将使这一过程变得容易得多。要么:

  • 以非树方式显示所有现有事件处理程序,就像列表一样。 Package.OnError,Package.OnTaskFailed,(序列)DoSomeStuff.OnPostExecute等...
  • 或者,允许过滤树 View 以仅显示具有任何事件处理程序的可执行文件。

  • 我是否缺少任何东西,实际上已经有一个很好的方法来查看此内容吗?

    最佳答案

    您正在寻找Package Explorer。这是非运行包的最后一个选项卡。
    每个级别都有“可执行文件”和“事件处理程序”部分。展开其中任何一个时,您都会看到那里列出的内容。
    我的示例是一个Foreach循环,其中包含一个数据流任务。数据流具有带序列容器的OnError事件处理程序,以及带序列容器的OnPostExecute和内部具有脚本任务的序列容器。幸运的是,您无法在事件处理程序上添加事件处理程序(在以前的版本中您可能已经能够做到)。
    enter image description here
    否则,我认为您正在考虑编写自定义代码来抓取您的包。

    关于error-handling - 有什么方法可以快速查看所有现有的SSIS包事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64045109/

    相关文章:

    SSIS 2008 执行包任务连接表达式无效

    vb.net - 在 VB.Net 中使用 OpenXML 修改单元格

    ssis - 如何增加要查找的数据流量

    sql-server-2008 - 在不同时间使用不同参数执行相同的 SSIS 包

    php - Codeigniter 3 show_404函数问题-MY_Exception无法加载

    r - R中的tryCatch block ,返回变量

    c# - 与 Contract.Requires<T> 相比抛出异常?

    angular - 如何很好地向Angular RXJS Observable订户抛出错误

    matlab - ???未定义的函数或变量

    sql-server - SSIS - 将 SQL 查询结果设置为 Excel 连接字符串的变量