Служба SSIS: столбцы фиксированной ширины отображаются некорректно

#ssis

#ssis

Вопрос:

Я пытаюсь создать спецификацию импорта плоского файла фиксированной ширины в SSIS. Когда я настраиваю все столбцы правильной ширины и просматриваю их, первая строка верна, но все остальные строки отключены.

пример:

Строка 1: текст

Строка 2: текст [пробел]

Строка 3: [пробел][пробел]Текст

Что я делаю не так?

Заранее спасибо!

Комментарии:

1. Какой у вас фактический разделитель в источнике импорта плоского файла?

2. Разделитель отсутствует. Например, если бы первые 12 символов были ABCDEFGHIJKL, то это был бы номер 1 — ABCDE, номер 2 — F, номер 3 — GHIJ, номер 4 — KL и т.д.

Ответ №1:

Я испытывал нечто подобное всякий раз, когда впервые использовал столбец фиксированной ширины и неправильно настраивал данные между концом текста (или разделителем) и следующей строкой. Данные в этой области обычно представляют собой интервал и возврат каретки / перевод строки. Для правильной настройки я создал один дополнительный столбец, который обрабатывал данные от конца текста (или разделителя) до следующей строки. Это исправило мою проблему с интервалом.

Комментарии:

1. Дэвид — спасибо за ответ, я даже не подумал об этом. Это действительно работает, но есть ли причина, по которой это происходит? Я делаю что-то не так при создании импорта, что он не распознает возврат каретки?

2. Возможно, это Lf вместо CrLf или Cr вместо Lf (и т.д.) В плоском файле для возврата каретки.

3. Ответ Джея может быть правильным. Мой опыт в основном связан с SSIS 2005. Я рассматривал это как ошибку; однако, поскольку Windows использует комбинацию CrLf для определения конца строки, я полагаю, правильно сказать, что CrLf является частью строки. Таким образом, у нас действительно есть два столбца. Тем не менее, это довольно неприятно, пока вы не разберетесь в этом.. Изменено ли это в каких-либо других версиях службы службы безопасности?

4. То же самое происходит с 2008, хотя символы CR / LF отображаются в виде квадратов в предварительном просмотре, поэтому это более очевидно.