Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Всем доброго времени суток!

Товарищи, такая ситуация: из плоского файла заливаются данные. В базе создана ErrorOutput табличка, надеюсь, сами знаете для чего. Туда редиректятся Flat File Source Error Output Column, ErrorCode и ErrorColumn. Последнее в виде интового значения, т.е. Lineage Id. Пошарившись слегка по просторам тырнета, пришел к выводу, что на этой версии банальным парсингом кода пакета как XML не получится преобразить ErrorColumn в собственно название колонки из-за которой и произошел FAIL. А ОЧЕНЬ НАДО!!!
Кто-нить в курсе как можно выйти из этой ситуации?
Картинка с другого сайта.
10 окт 14, 15:05    [16687775]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Простите... за "картинку" в пред. ссобщении, исправляюсь
Картинка с другого сайта.
10 окт 14, 15:07    [16687787]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
вы точно указали что и куда ставлять ???
10 окт 14, 15:09    [16687805]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Maxx, Простите, не понял вопроса... Записи в ERROR_Log таблицу добавляются... Проблема в том, что в поле ErrorColumn нужно получать ИМЯ КОЛОНКИ а не его Lineage Idю
10 окт 14, 15:15    [16687835]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
mifi83
Проблема в том, что в поле ErrorColumn нужно получать ИМЯ КОЛОНКИ а не его Lineage Idю

ну так я и спрашиваю - там где вы маппинг делали - что куда..все правильно?
10 окт 14, 15:19    [16687857]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Да, все правильно...
10 окт 14, 15:24    [16687876]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
mifi83
Да, все правильно...

чудес не бывает :) может где то по ходу пакета пепеопределяеться ..или меняеться маппиг
10 окт 14, 15:26    [16687889]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Maxx, я не пойму Вашей иронии: какие чудеса? Все в данный момент работает правильно, ведь колонка ErrorColumn возвращает Lineage Id (это общеизвестный факт). Вопрос в том, каким образом по Lineage Id можно получить Name?
10 окт 14, 16:19    [16688150]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
mifi83,

Понял... не на то отвечал
Помоему вы хотите вот ето
10 окт 14, 16:23    [16688169]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
И ,помоему ,не только вы Тынц
10 окт 14, 16:24    [16688180]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Maxx, уже теплее! Но предложенный Вами путь мною был и раньше найден, но к сожалению не подходит, потому что в 2012-ой версии Lineage Id не сохраняется внутри файла. Вернее такая проперть там есть, но имеет вид:
lineageId="Package\DFT Generate Errors\DER Divide by SomeNumber.Outputs[Derived Column Output].Columns[LookAtMe]"
.

Вот и хочу я узнать, найден ли путь решения такой проблемы для этой версии? Очень желательно без использования сторонних компонент.
10 окт 14, 16:37    [16688235]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
mifi83,

увы, у меня под рукой нет 2012 чтоб поиграться :(
10 окт 14, 16:57    [16688393]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
mifi83
Maxx, уже теплее! Но предложенный Вами путь мною был и раньше найден, но к сожалению не подходит, потому что в 2012-ой версии Lineage Id не сохраняется внутри файла. Вернее такая проперть там есть, но имеет вид:
lineageId="Package\DFT Generate Errors\DER Divide by SomeNumber.Outputs[Derived Column Output].Columns[LookAtMe]"
.

Вот и хочу я узнать, найден ли путь решения такой проблемы для этой версии? Очень желательно без использования сторонних компонент.
Напишите свой компонент, который будет получать оба output'а от предыдущего компонента: sucess и error. Внутри парсите sucess в нем и будут правильные LineageId. Ну и на выход выдаете два output, один из которых будет содеражаь ErrorColumnName.
Примеры есть в интернете.
10 окт 14, 23:42    [16690089]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
mifi83
Member

Откуда:
Сообщений: 16
Mind, не будете ли Вы столь любезны ткнуть где примерно об этом можно почитать?
13 окт 14, 17:54    [16698493]     Ответить | Цитировать Сообщить модератору
 Re: Название поля по Lineage Id в SSIS 2012  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
mifi83
Mind, не будете ли Вы столь любезны ткнуть где примерно об этом можно почитать?

Да, конечно:
Getting Error Column Name in SSIS
Я помню что там пришлось кое-что немного дописать, но уже не помню что именно и зачем, но направление правильное.
14 окт 14, 20:29    [16704207]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить