У меня есть ситуация, в которой наш клиент дал плоский файл (.csv
) для загрузки в таблицу SQL Server с использованием служб SSIS.
Этот огромный необработанный файл .csv
(с 400 000 записей)) не имеет правильного формата CSV - в частности, он не имеет двойной кавычки ("), ни в заголовке имени столбца, ни в данных строки. См. пример ниже:
ColumnName 1, ColumnName 2, ColumnName 3,....
Z , 342343242424 , 10.83 , 000001001765 , 2018-12-03 , 2018-12-03 , ABCD , **XYZ,** , CA , 001 , 00 , ?
(Этоявляется экземпляром строки данных с именами заголовков столбцов, такими как Столбец 1, Столбец 2, ... В этом файле вообще нет двойной кавычки (") с расширением .csv)
Я используюVisual Studio 2017 для работы в SSIS.
Как видите, значение данных XYZ, желательно как XYZ, в одной ячейке;вместо этого я вижу XYZ в одной ячейке и пробел в соседней ячейке справа.(В настоящее время я выполняю отладку с помощью средства просмотра данных.)
Каждая ячейка сдвигается на одну позицию вправо.В последнем столбце справа отображается следующее: 00,? в одной ячейке.
В редакторе диспетчера соединений с плоскими файлами служб SSIS - страница «Общие» я установил следующие свойства:
Format: Delimited
Text Qualifier: none
Header row delimiter: {CR}{LF}
У меня нет идеи, как загрузить этот тип неправильно отформатированного файла .csv
(без двойных кавычек (")).
Есть ли способ, которым яможет загружаться правильно? Может быть, изменение файла в текстовый файл или что-то.
Мне сказали, что это Cobol (Mainframe) файлов с фиксированной определенной шириной для каждого столбца.
Существует также определенная ширина для каждого заполнителя (т. Е. Пробел (включая запятую) между смежными значениями). Мне был предоставлен документ спецификации со следующей информацией:
Field Name Start Width
-----------------------------------------
ColumnName1 1 26
FILLER 27 5
ColumnName2 32 19
FILLER 51 5
ColumnName3 56 21
FILLER 77 5
.
.
.
.
Любойпредложение будет оценено.