当脚本组件尝试检索errorCode和errorColumn- [SSIS.Pipeline]时,SSIS包中的错误错误:ID为0的对象不存在

时间:2019-05-23 22:06:58

标签: error-handling ssis script-component

我有一个SSIS包,在这里我正在DFT中使用脚本组件从SQL表中的插入中检索错误列和错误描述。

我的代码如下。但是,完成DFT(完成所有步骤)后,程序包将无法继续执行下一个DFT任务,错误为

  

[SSIS.Pipeline]错误:ID为0的对象不存在。

下面是该组件的代码

我试图删除脚本组件并重新创建它,但这不起作用

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
    IDTSComponentMetaData130 componentMetaData = this.ComponentMetaData as IDTSComponentMetaData130;
    Row.ErrorColumnName = componentMetaData.GetIdentificationStringByID(Row.ErrorColumn);
}

错误描述和错误列进入错误表,但程序包不继续。

1 个答案:

答案 0 :(得分:0)

  

我正在DFT中使用脚本组件从SQL表格的插入中检索错误列和错误描述。

如果您正在从OLE DB目标的错误输出中读取数据,并且将Table or View - Fast Load选项用作Access Mode,则由于执行批量插入操作,因此无法检索列名。

如果需要获取错误列名称,则不能使用Fast Load选项,则需要通过选择Table or View访问模式来执行逐行插入,这会降低插入性能。

如果您不是从OLE DB Destination错误输出中读取,请参考以下文章以获取分步指南:

相关问题