SSIS, передавая простые пути к файлам в качестве параметров командной строки - PullRequest
0 голосов
/ 25 мая 2018

У меня есть пакет ssis, который принимает два плоских файла и таблицы базы данных в качестве соединений.Я хочу запустить пакет ssis из командной строки, передав эти 3 соединения в качестве параметров командной строки.Как мне позвонить?

После некоторого поиска в Google я обнаружил, что если мы используем БД в качестве соединения, это как пройти.Но не мог понять, как передать параметры соединения для плоских файлов.

DTExec.exe /F "<packagepath> /set \package.connections[MyDB].properties[ServerName];SS2K8SV01_Prod

1 Ответ

0 голосов
/ 25 мая 2018

Предположим, у меня есть менеджер соединений с плоскими файлами под названием FFCM, и я хотел бы обновить свойство ConnectionString до C: \ ssisdata \ output \ B.txt

dtexec.exe 
/file Package2.dtsx 
/set 
\Package.Connections[FFCM].Properties[ConnectionString];C:\ssisdata\input\B.txt

Это значения с учетом регистра, поэтомудиспетчер соединений должен называться FFCM.Если есть ffcm, это не сработает.

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

dtexec.exe 
/file Package2.dtsx 
/set 
\Package.Connections[FFCM].Properties[ConnectionString];C:\ssisdata\input\B.txt
/set 
\Package.Connections[FFCM2].Properties[ConnectionString];C:\ssisdata\input\BC.txt
/set 
\Package.Connections[MyDB].Properties[ServerName];localhost

Как определить, что это за вещь после / set

По умолчанию F4 откроет окно Свойства для любогоВы щелкнули в редакторе служб SSIS.Найдите свойство PackagePath данного объекта, которое определяет «базовый» путь.

enter image description here

Оттуда вам потребуется доступ к коллекции Expressions.чтобы определить свойство, которое вы хотите установить ConnectionString

enter image description here

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

\Package.Connections[FFCM].Properties[ConnectionString]
...