如何使脚本组件失败的任务

本文关键字:任务 失败 组件 何使 脚本 | 更新日期: 2023-09-27 18:18:55

我有一个脚本组件(脚本转换),我需要能够失败的DFT,即数据流任务,它是一部分。

我正在触发一个像这样的错误

try
{
   // Does some work here, which can fail...
}
catch (Exception ex)
{
   bool pbCancel = false;
   this.ComponentMetaData.FireError(0, Variables.TaskName, "Error message: " + ex.Message, String.Empty, 0, out pbCancel);
}

但是,FireError不会导致任务失败。

注意这是数据转换任务中的脚本组件,而不是脚本任务。

如何从脚本组件中失败此任务?

如何使脚本组件失败的任务

在您的示例中,您捕获异常但不抛出它。只需添加

catch (Exception ex)
{
    // ... your other code here
    throw ex;
}

这应该是你正在寻找的- 2008 R2 c#脚本组件。

bool fireAgain = true;
IDTSComponentMetaData100 myMetaData;
myMetaData = this.ComponentMetaData;
//for information
myMetaData.FireInformation(0, "SubComponent", "Description", string.Empty, 0, ref fireAgain);
//for error
myMetaData.FireError(0, "SubComponent", ex.Message.ToString() + ex.StackTrace, string.Empty, 0, out fireAgain);