【问题标题】:OnTaskFailed event handler in SSISSSIS 中的 OnTaskFailed 事件处理程序
【发布时间】:2009-10-20 17:14:31
【问题描述】:

如果我在我的 SSIS 包中使用 OnError 事件处理程序,我可以从中得到变量 System::ErrorCodeSystem::ErrorDescription如果执行过程中有任何事情失败,可以得到错误信息。

但我无法为 OnTaskFailed 事件处理程序找到相同的内容,即如何从 OnTaskFailed 事件处理程序中获取 ErrorCodeErrorDescription如果我们只想为我们的包实现 OnTaskFailed 事件处理程序,那么执行时是否有任何事情失败?

【问题讨论】:

    标签: sql sql-server-2008 ssis


    【解决方案1】:

    这可能会有所帮助,它是所有系统变量的列表以及它们何时可用。

    http://msdn.microsoft.com/en-us/library/ms141788.aspx

    【讨论】:

      【解决方案2】:

      我刚刚遇到了同样的问题,我已经通过以下方式解决了它:

      1. 创建@[ErrorCache] 变量
      2. 在我的情况下,该任务被重试了多次,因此我需要一个表达式任务来在每次重试开始时重置 @[ErrorCache] 变量
      3. 创建一个 OnError 事件处理程序,其中包含一个纯粹用于将 @[ErrorMessage] 附加到 @[ErrorCache] 的 Expression 任务
      4. 创建一个 OnTaskFailed 事件处理程序,然后使用 @[ErrorCache]

      【讨论】:

        【解决方案3】:

        转到要监视错误的任务的事件处理程序,然后单击链接以创建新的处理程序。
        然后创建一个任务,如发送邮件并创建 2 个变量:mail_header 和 mail_body。

        重要提示:将变量从当前范围移动到 OnError 范围,否则在处理包时这些值将不可用。
        将 mail_subject 变量定义为字符串,并将表达式设置为:“错误”+@[System::TaskName]+“执行时”+@[System::PackageName]+“包”。

        将 mail_body 变量定义为字符串,并将表达式设置为:REPLACENULL(@[System::ErrorDescription],"") + "\n通知您的系统管理员。"

        在任务编辑器上,创建一个将主题分配给@mail_subject 变量的表达式。将 MessageSourceType 定义为变量,并将 MessageSource 设置为 @mail_body。

        【讨论】:

          【解决方案4】:

          在您放置在错误事件处理程序上的任务中,您可以选择仅在错误处理程序中可用的参数,例如 system:Errordescription 或 system:Sourcename(它提供了失败的任务)。我们将这些用作存储过程的输入变量,该存储过程插入错误表(并为失败的进程发送电子邮件),该表存储除日志表之外的其他信息。我们还使用日志表来记录我们的步骤,并在其中包含错误信息,因此一般错误信息会出现在那里。

          【讨论】:

          • 谢谢,因为 System::ErrorDescription 变量对 OnTaskFailed 不可用,那么使用 OnTaksFailed 的目的是什么,即我们使用 OnTaskFailed 事件处理程序记录的内容是什么?
          • 我们不使用 Ontaskfailed,所以我不知道。 On error 似乎抓住了我们需要的一切。
          • 如何在数据流任务上放置错误处理程序 - 如果您使用 OnError 事件,它将引发子数据流任务和父数据流任务的许多错误,因此会多次执行条件。 OnTask failed 事件执行一次,但无权访问 ErrorDescription 变量。你怎么能解决这个问题?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多