Как запустить пакет SSIS несколько раз?

#ssis #foreach-loop-container

#ssis #foreach-loop-container

Вопрос:

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

Однако список создаваемых файлов состоит из 10 файлов, и пакет создает только первый в списке, а затем пакет завершается. Поскольку пакету удалось обновить таблицу моей базы данных, теперь в нем будет отображаться только 9 файлов, которые еще предстоит создать (вместо 10). Если я снова запущу пакет, он снова получит данные для первого файла в списке (который уменьшился с 10 до 9 файлов, которые нужно создать), создаст его и завершит.

Поскольку пакет обновляет таблицу, теперь он будет содержать 8 файлов, которые нужно создать. Вы уже поняли это. Я должен нажать «Пуск» 10 раз, чтобы все файлы были созданы. Мне было интересно, есть ли способ сделать это, запустив пакет SSIS только один раз.

Если да, то как? Кажется довольно простым, но в то же время сложным. Заранее спасибо за любую помощь!

Ответ №1:

У меня нет деталей или особенностей вашего пакета, но обычно, когда вы хотите повторить процесс, пока входные данные не будут исчерпаны, вы помещаете свою задачу в контейнер цикла foreach. ознакомьтесь с этой документацией:

https://learn.microsoft.com/en-us/sql/integration-services/control-flow/foreach-loop-container?view=sql-server-ver15