Выполнение пакета SSIS из агента SQL и DTExec: параметры или переменные?

У меня есть пакет SSIS, которому я буду давать некоторые входные значения во время выполнения. Я хочу иметь возможность запускать его либо из агента SQL, либо из DTExec из файловой системы. Из того, что я обнаружил, если я запускаю DTExec из файла (на самом деле это скомпилированный проект .ispac), я могу устанавливать только переменные с параметром / SET, но не параметрами пакета. Однако, если я хочу запустить его из Агента или с Сервера в целом, лучше и проще использовать Параметры. На данный момент я создал пустые параметры и переменные в качестве заполнителей для входных данных и дополнительные переменные с выражениями в качестве переключателя, чтобы использовать параметры, если переменные пусты. Это все немного избыточно, поэтому мне нужно знать, есть ли способ использовать только параметры и устанавливать их из DTExec при запуске из файловой системы? Или у кого-нибудь вообще есть идеи получше?


person stackoverflowthebest    schedule 16.03.2015    source источник


Ответы (1)


При выполнении пакета SSIS с использованием DTExec лучший, самый простой и наиболее переносимый подход к настройке параметров - это использование «XML-файла конфигурации». Создание и использование такого файла позволяет вам выполнять пакет в Dev, используя один набор значений (например, имя экземпляра SQL Server и пароль), а другой набор - в производственной среде.

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

person benjamin moskovits    schedule 16.03.2015
comment
Я использую модель развертывания проекта и, насколько мне известно, она недоступна. - person stackoverflowthebest; 17.03.2015
comment
Согласно msdn вы можете использовать dtexec с модулем развертывания проекта. MSDN - вы также можете выполнять пакеты с помощью dtExec. (msdn.microsoft.com/en-us/library/hh213290.aspx) И если вы можете использовать dtecec, вы можете использовать файл конфигурации пакета. Возможно, вам придется переместить файл конфигурации пакета (файл типа xml) на целевой компьютер. - person benjamin moskovits; 17.03.2015