Я обновляю SQL Server 2008R2 до 2017 года и делаю то же самое с SSIS.Существует ряд импортов плоских файлов, которые выбирают файлы, в которые вставлен возврат каретки / перевод строки ({CR}{LF}
) в столбец строки.
Менеджер соединений с плоскими файлами 2008R2 игнорирует встроенный {CR}{LF}
s, которые находятся в строке, но менеджер соединений с плоскими файлами в 2017 году рассматривает каждый {CR}{LF}
как новую строку.То же самое в обновленном диспетчере соединений или в новом, который я делаю с нуля.
В обеих версиях диспетчеры соединений имеют одинаковые спецификации:
General Tab
Locale: English (United States)
Unicode: No
Code page: 1252 (ANSI-Latin I)
Format: Delimited
Text qualifier: <none>
Header row delimiter: {CR}{LF}
Header rows to skip: 0
Column names in the first data row: Check
Columns Tab
Row delimiter: {CR}{LF}
Column delimiter: Vertical Bar{|}
Не особо сложныйТекстовый файл, с которым я тестирую:
row_id|row_data|empty_column|created_by|one_more_field{CR}{LF}
1|random test data||ebrandt|{CR}{LF}
2|Data field with a carriage return{CR}{LF}
and a line feed embedded in it.||ebrandt|
Я вставил в разделители строк только для того, чтобы показать, что они есть.
На вкладке Columns
окно предварительного просмотра вBIDS 2008R2 показывает две строки:
Но в 2017 году один и тот же файл разбивается на три строки:
В этом проекте нет пропускной способности, чтобы переработать весь импорт файлов.
Есть ли параметр, который изменился между версиями, который я могу изменить обратно?Или есть еще одна хитрость, которую я пропускаю?
Редактировать: В ответ на удаленный комментарий я бы указывал квалификатор текста, если мог, но у файлов, которые я получаю, их нет.