Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
Приветствую,
Пытаемся прочитать такой файл:

Code|Description
ABC|Bad description because this text too long and will trigger truncation error

BCD|Good description

Между 1-й и 2-й строкой дополнительный перенос каретки. Длина полей, задана в Flat File Source Connection Manager: 3 и 20 символов. Наблюдаем такую картину. Если в Flat File Source не задан Error Output (т.е. Error Row Disposition стоит Ignore) то все работает корректно. В Output попадает 3 строки: первая с транкетнутым дескрипшином, вторая пустая, третья - нормальная. Как только добавляем Error Output, то ошибочная строка (первая) попадает И в Error Output И в нормальный Output !!! Причем в нормальном Output первое поле (Code) пустое, второе (Description) транкейтнутое. Той строки там вообще не должно быть.
С редиректом:
Картинка с другого сайта.

Без редиректа:
Картинка с другого сайта.
24 мар 16, 11:39    [18972224]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
С редиректом

Без редиректа
24 мар 16, 11:41    [18972240]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Богдан Гоцкий,

Вопрос то какой?
24 мар 16, 11:58    [18972359]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
WarAnt,

Можно ли как-то обойти багу? Если да, то как? Есть ли какие либо воркараунды?
24 мар 16, 12:04    [18972405]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
Богдан Гоцкий,

А в чем, по-вашему, бага? Обрезанная строка не должна приходить совсем? Какое у вас целевое поведение Flat Source?

По фактуре - откройте для flat file source - advanced editor и со вкладки Input and Output properties пришлите следующие свойства
Flat File Source Output - оба поля - свойства ErrorRowDisposition и TruncationRowDisposition.
1 апр 16, 11:28    [19004106]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4901
Богдан Гоцкий
WarAnt,

Можно ли как-то обойти багу? Если да, то как? Есть ли какие либо воркараунды?


Могу предположить, что когда вы добавляли Error Output вы как-то поменяли логику. Может быть это произошло автоматически (включилась какая-то доп проверка). Копайте в этом направлении.
1 апр 16, 12:26    [19004513]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
Ferdipux,

Оба свойства RD_RedirectRow. Бага в том что первая строка не должна попадать в нормальный Output. А она попадает. Это видно из первого скриншота.

a_voronin,
Ничего не менял. Репро датафлоу воспроизводится с нуля в несколько кликов мышки.
4 апр 16, 10:40    [19013184]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
Богдан Гоцкий
Ferdipux,

Оба свойства RD_RedirectRow. Бага в том что первая строка не должна попадать в нормальный Output. А она попадает. Это видно из первого скриншота.


Ага. А в получатель тоже приходит эта странная строка, или она пустая?
Подозреваю, что проблема в наличии пустой строки между первой и третьей записью. Первая запись благополучть редиректится, но почему-то в data viewer показывается описание. Посему и вопрос - что реально приходит к получателю?
Как идея - установить для Flat Source в advanced editor свойство RetainNulls - true и попробовать.
4 апр 16, 11:50    [19013606]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
C RetainNulls пробовали - такое же поведение. К получателю реально приходит то же что и видно в дата вьювере - первая ошибочная строка и вторая нормальная.
4 апр 16, 14:51    [19014716]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
Богдан Гоцкий,

Посмотрите на data viewer на ветке с редиректорм. Там у вас будет первая строка. А то, что вы называете "первой" - это вторая строка из вашего примера без редиректа.

Единственное предложение - на нормальной ветке делаете split, проверяете поле Code на NULL и что не NULL - заворачиваете куда нужно.
4 апр 16, 15:01    [19014805]     Ответить | Цитировать Сообщить модератору
 Re: SSIS: Bug in Flat File Source  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
Спасибо, да, так и делаем сейчас.
4 апр 16, 15:12    [19014883]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить