Ошибка в пакете SSIS, когда компонент скрипта пытается получить errorCode и errorColumn- [SSIS.Pipeline] Ошибка: не существует объекта с идентификатором 0

У меня есть пакет SSIS, в котором я использую компонент сценария в DFT для извлечения столбца ошибки и описания ошибки из вставки в таблицу SQL.

Мой код ниже. Однако после того, как DFT выполнено (оно завершает все свои шаги), пакет не может продолжить следующую задачу DFT с ошибкой

[SSIS.Pipeline] Ошибка: не существует объекта с идентификатором 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);
}

Описание ошибки и столбец ошибок попадают в таблицу ошибок, но пакет не продолжается.


person Netta G    schedule 23.05.2019    source источник


Ответы (1)


Я использую компонент сценария в DFT для получения столбца ошибки и описания ошибки из вставки в таблицу SQL.

Если вы читаете данные из вывода ошибок места назначения OLE DB и используете параметр Table or View - Fast Load как Access Mode, вы не можете получить имя столбца, так как вы выполняете операцию массовой вставки.

Если вам нужно получить имя столбца ошибок, вы не можете использовать параметр Fast Load, вам необходимо выполнить вставку строки за строкой, выбрав режим доступа Table or View, который снижает производительность вставки.

Если вы не читаете данные об ошибке назначения OLE DB, обратитесь к следующей статье для получения пошагового руководства:

person Hadi    schedule 24.05.2019
comment
Я не использую опцию быстрой загрузки, поэтому не уверен, что это проблема - person Netta G; 28.05.2019
comment
Не думаю, что это связано с опцией быстрой загрузки. Быстрая загрузка предотвращает перенаправление только строки с ошибкой, она перенаправляет весь пакет - person Yahfoufi; 14.06.2019