Каждую неделю я получаю плоский файл с разделителями-вертикальной чертой, содержащий 50 столбцов. Я пытаюсь использовать SSIS, чтобы взять этот файл, удалить последние 3 столбца, а затем вставить оставшиеся данные в новый плоский файл с разделителями каналов. Сначала я думал, что это будет очень просто, но у меня есть упрямый менеджер соединений с плоскими файлами. Он продолжает возвращаться к макету входящего файла с дополнительными столбцами, а также продолжает возвращаться к файлу с разделителями-запятыми, когда исходящий файл должен быть разделен вертикальной чертой.

Я «удаляю» ненужные столбцы, просто удаляя их из входящего диспетчера соединений с плоскими файлами, так что они не отображаются в выходных столбцах из источника плоских файлов и не отображаются как входные столбцы места назначения плоского файла.

Имя файла обоих файлов динамическое ... не уверен, связано ли это с этим.

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

Есть ли проблема с наличием двух диспетчеров соединений с плоскими файлами, одного для источника и одного для места назначения? Я пропустил какой-то параметр?

1
Jon 27 Окт 2015 в 17:31

2 ответа

Лучший ответ
  1. Удалите ваши диспетчеры соединений и источник / назначение (фактически начните заново)
  2. Добавить источник плоского файла (FFSRC) с новым подключением FF
  3. Настройте FFSRC по мере необходимости (разделители каналов, заголовки и т. Д.) - не удаляйте никакие строки
  4. После нажатия «ОК» вы вернетесь в поток данных. Щелкните правой кнопкой мыши исходный код плоского файла и выберите "Показать расширенный редактор"
    параметр расширенного редактора
  5. Перейдите на вкладку «Свойства ввода и вывода», затем разверните столбцы вывода / вывода FFSRC. Щелкните столбец, затем нажмите «Удалить столбец».
    удалить столбец
  6. Добавьте место назначения плоского файла (FFDST) с помощью нового диспетчера соединений и сопоставьте входные данные.

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

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

Для этого щелкните узел диспетчера подключений для вашего источника / назначения (не узел потока данных), затем в разделе «Свойства» разверните «Выражения». Вам нужно сделать ConnectionString динамическим с помощью переменной.

2
sorrell 27 Окт 2015 в 15:40

Что вы подразумеваете под

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

Вы пытались напрямую сослаться на файл, затем установить тип файла (рваный вправо, с разделителями или фиксированной шириной), а затем применить выражение к свойству connectionstring диспетчера соединений?

Я предлагаю рваное право, я могу указать любую «колонку» и ширину, которую хочу.

0
Massimo 27 Окт 2015 в 15:09