Для каждой петли SSIS.Зависит от SQL-запроса - PullRequest
1 голос
/ 14 марта 2019
  1. У меня есть пакет служб SSIS, который проверяет наличие необработанного файла в таблице отслеживания и затем обрабатывает его. До даты поступит только один файл, и мы обработаем его, и поэтому процесс был разработан соответствующим образом.

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

Я пытаюсь использовать цикл For Each для обработки всего необработанного файла. Поэтому я получаю счетчик необработанных файлов и хотел бы просто настроить точку 1, передав параметр шагу 1, но мне не удалось это сделать с помощью Foreach From Variable Enumerator. Я что-то упустил?

1 Ответ

0 голосов
/ 14 марта 2019

Это можно сделать, выполнив следующие действия:

  1. Добавьте задачу «Выполнение SQL», чтобы получить необработанные файлы и сохранить набор результатов в переменной типа System.Object
  2. ДобавитьКонтейнер цикла Foreach, измените тип на ADO enumerator и выберите переменную в качестве souce
  3. . На вкладке отображения переменных сопоставьте результат (путь к каждому файлу) с переменной типа string
  4. ВнутриКонтейнер цикла foreach Добавьте задачу потока данных, содержащую источник плоского файла, и реализуйте необходимую логику обработки
  5. Добавьте диспетчер соединений с плоскими файлами, определите столбцы
  6. Нажмите на диспетчере соединений с плоскими файлами, нажмитеF4, чтобы показать вкладку свойств, перейти к выражению.
  7. Выберите свойство connectiinstring и используйте переменную, которая содержит путь к файлу в качестве выражения

Подробные статьи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...