我有一个脚本组件(脚本转换),我需要能够使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不会导致任务失败。
注意这是数据转换任务中的脚本组件 - 而不是脚本任务。
如何从脚本组件中完成此任务?
答案 0 :(得分:0)
这应该是您正在寻找的 - 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);
答案 1 :(得分:0)
在您的示例中,您正在捕获异常,但未引发异常。只需添加
catch (Exception ex)
{
// ... your other code here
throw ex;
}
,该组件将失败。