Как да зададете динамично низ за връзка в SSIS?

Имам SSIS-проект, който използва xml-конфигурационен файл (dtsConfig), където е даден низът за връзка към изходната база данни. Конфигурационният файл се съхранява в променлива на околната среда.

Данните трябва да бъдат извлечени от четири различни бази данни, т.е. сега трябва да стартирам един и същ набор от пакети четири пъти, като използвам четири различни низа за връзка.

Мога да направя четири различни конфигурационни файла, където всеки от тях има различен низ за свързване и да го актуализирам до променливата на средата след всяко изпълнение. Ето как го правя сега и работи добре, но не бих искал да продължавам да актуализирам променливата env през цялото време.

Или тогава мога да използвам същия конфигурационен файл и просто да актуализирам низа за връзка след всяко изпълнение. Но мисля, че е още по-лоша идея от това да имаш четири различни файла.

Това, което бих искал да направя, е динамично да променя низа за връзка след всяко изпълнение.

Имам главен пакет, който изпълнява набора от пакети, които искам. Така че мислех просто да добавя този главен пакет четири пъти в контролния поток, след всяко изпълнение ще трябва да актуализирам низа за връзка, който след това ще се използва при следващото изпълнение. Но как всъщност да направите това?

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


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


Отговори (1)


За да стартирате пакетите последователно, можете просто да създадете таблица или файл с низовете за свързване (напр. 4 реда за 4-те източника на данни). След това ще имате цикъл за всеки, който ще премине през връзките (от таблицата или файла) и ще извика дъщерния пакет, предавайки низа за свързване надолу към него като променлива. Дъщерният пакет ще има достъп до променливата чрез конфигурация на пакет. Променливата в дъщерния пакет ще бъде насочена към низа за свързване на връзката.

person Ali_Abadani    schedule 23.04.2012