SSIS: не удается обработать перевод строки в CSV (разделитель столбцов не найден)
У меня есть некоторые CSV-файлы, которые отображаются нормально в Notepad и Excel, но, кажется, имеют дополнительные переводы строк при просмотре их в VS2010 или Notepad++. Когда я пытаюсь обработать их в службах SSIS, файлы перестают работать с такими ошибками:
Error: 0xC0202055 at Merge Files, Interface [225]: The column delimiter for column "Column 48" was not found.
Вот усеченный пример (около 50 столбцов, и перенос строки выглядит случайным образом в одной и той же позиции):
Вопросы: как Блокнот и Excel открывают эти файлы в порядке (и, по-видимому, игнорируют перевод строки)? Есть ли способ заставить SSIS обрабатывать эти файлы? Может ли это быть настройка служб SSIS на кодовой странице и т. Д.?
2 ответа
Самым простым решением для нас было поместить вход в таблицу SQL, а затем в последующем потоке данных запросить его обратно без перевода строки в выводе CSV, например
SELECT COLUMN1
,REPLACE(REPLACE([COLUMN2],CHAR(10),''),CHAR(13),'') AS [COLUMN2]
FROM TABLE
Для меня открытие файла в Excel, сохранение в виде файла Excel (xlsx, но я уверен, что старый формат xls тоже подойдет), а затем использование источника Excel в SSIS позволило мне загрузить файл в таблицу SQL с таким видом проблема.
Очевидно, что это не будет работать, если вам нужно регулярно загружать файлы такого типа или если таких файлов было много. В этом случае первый ответ будет лучше.