Переопределение сконфигурированных переменных пакета в SSIS 2008 с использованием DTEXEC / SET - PullRequest
2 голосов
/ 21 сентября 2011

У меня возникла проблема при переносе пакета 2005 года на 2008 год. Похоже, что в 2008 году переменные пакета, настроенные для использования фильтра конфигурации (например, заполненные из [Конфигурации служб SSIS]), не будут выполнять команду / SET, предоставленную dtexec.exe для переопределения значения переменной пакета во время выполнения.

Проблема задокументирована здесь http://dougbert.com/blogs/dougbert/archive/2009/04/07/understand-how-ssis-package-configurations-are-applied.aspx

Какое самое простое решение для этого?Мне нужно старое поведение SSIS 2005, когда переменная пакета изначально загружается из [Конфигурации SSIS], но я могу переопределить ее во время выполнения, если я явно вызываю / SET

У меня есть обходной путь, но я надеюсь налучшее решение - у меня в основном есть 2 версии переменной, которую я хочу ... например, NETWORK_PATH, NETWORK_PATH_CONFIG ... Я поместил выражение в NETWORK_PATH для использования NETWORK_PATH_CONFIG (эта переменная будет заполнена из [Конфигурации SSIS]), если значение NETWORK_PATHизначально равен NULL во время выполнения, когда выражение сначала вычисляется, в противном случае используется значение, которое было предоставлено (предположительно, dtexec / SET)

1 Ответ

0 голосов
/ 26 сентября 2011

Вы можете использовать / Conn, чтобы изменить расположение настроек вашей конфигурации и иметь там другие настройки, или полностью удалить переменную из конфигураций, чтобы ее можно было установить в параметре dtexec / set.

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

, например

"C: \ Program Files (x86) \ Microsoft SQL Server \ 100 \ DTS \ Binn \ DTExec.exe"
/ Файл "C: \ Path \ To \ My \ Package \ Import Types.dtsx" / Conn Connection1; "Поставщик = SQLNCLI10; Сервер = MYSERVER; База данных = DB_ONE; Uid = ИМЯ ПОЛЬЗОВАТЕЛЯ; Pwd = ПАРОЛЬ;" / Conn Connection2; "Поставщик = SQLNCLI10; Сервер = MYSERVER; База данных = DB_TWO; Uid = ИМЯ ПОЛЬЗОВАТЕЛЯ; Pwd = ПАРОЛЬ;"

Кажется, кто-то думал, что это лучше, чем метод 2005 года. Я хотел бы знать его обоснование, прежде чем ударить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...