Как динамически установить строку подключения в SSIS?

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

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

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

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

Что я хотел бы сделать, так это динамически изменять строку подключения после каждого запуска.

У меня есть мастер-пакет, который запускает набор пакетов, которые я хочу. Поэтому я подумал о том, чтобы просто добавить этот главный пакет четыре раза в поток управления, после каждого запуска мне нужно будет обновить строку подключения, которая затем будет использоваться при следующем запуске. Но как это сделать на самом деле?

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


person Juha S    schedule 23.04.2012    source источник


Ответы (1)


Чтобы запустить пакеты последовательно, вы можете просто создать таблицу или файл со строками подключения (например, 4 строки для 4 источников данных). Затем у вас будет цикл for each, который будет перебирать соединения (из таблицы или файла) и вызывать дочерний пакет, передавая ему строку соединения в качестве переменной. Дочерний пакет будет получать доступ к переменной через конфигурацию пакета. Переменная в дочернем пакете будет указывать на строку соединения соединения.

person Ali_Abadani    schedule 23.04.2012