SSIS 2005 - Как импортировать плоский файл фиксированной ширины? - PullRequest
1 голос
/ 10 мая 2010

У меня есть плоский файл, который выглядит примерно так:

junk I don't care about   \n
\n
columns names\n
val1    val2   val3\n
val1    val2   val3\n
columns names   \n
val1    val2   val3\n

Меня волнуют только строки со значениями. Эти строки значений имеют формат фиксированной ширины и имеют одинаковую длину строки. Другие ненужные строки и имена столбцов могут иметь любую ширину строки.

Когда я пытаюсь использовать опцию фиксированной ширины плоского файла или рваный правильный вариант, предварительный просмотр выглядит неправильно. Есть идеи, как проще всего это сделать в SSIS?

Ответы [ 2 ]

3 голосов
/ 10 мая 2010

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

Вы можете использовать опцию рваный правый и прочитать всю вещь в столбце строки, а затем использовать производные столбцы.

В качестве альтернативы, предварительно обработайте файл (возможно, в SSIS, используя неровное право с условным разбиением, вывод в плоский файл), чтобы отфильтровать строки, которые вы собираетесь игнорировать, и затем вы можете использовать соединение с плоским файлом менеджер по полученному файлу.

Другим вариантом является ручное кодирование задачи сценария источника данных.

Было бы неплохо, если бы вы могли использовать более сложные файлы, имея возможность определять новые макеты диспетчера подключений на выходах других потоков данных, но это в настоящее время недоступно в SSIS.

Это в основном та же проблема, которую я поставил в этом вопросе: Как обработать неровные правильные текстовые файлы со многими подавленными столбцами в SSIS или другом инструменте?

1 голос
/ 11 мая 2010

Попробуйте после удаления мусора вверху вручную.

  1. установить задачу с фиксированной шириной
  2. Добавление столбцов вручную на вкладку «Дополнительно». Здесь вам нужно добавить 3 столбца длиной 4.

Если это работает .. Затем вы можете использовать задачу сценария, чтобы прочитать плоский файл и удалить ненужную информацию, прежде чем приступить к задаче потока данных.

...