SSIS - как запустить диспетчер соединений во время выполнения? - PullRequest
0 голосов
/ 05 мая 2020

Проблема

Нам необходимо предоставить пароль диспетчеру соединений во время выполнения.

Описание

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

Вопрос

Есть ли способ создать или изменить диспетчер подключений из самого пакета (т.е. из задачи сценария)?

Пример и ожидаемый результат

Теперь у нас созданы наши менеджеры соединений, как мы обычно делаем:

enter image description here

Мы хотим иметь возможность создавать диспетчер соединений «Другая БД» из набора переменных:

enter image description here

Заранее спасибо.

1 Ответ

0 голосов
/ 06 мая 2020

Щелкните правой кнопкой мыши «Наша БД» и выберите свойства.

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

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

Каждая задача, которая использует диспетчер подключений (поток данных, et c), также необходимо, чтобы для свойства Delay Validation было установлено значение True.

Более чистый метод, предполагающий, что 2012+ - это развертывание в SSISDB и настройка проект / пакет из этого интерфейса. Пароль зашифрован в базе данных и не раскрывается. Вы просто сопоставляете оттуда свойство имени пользователя и пароля. Для простоты я рекомендую людям использовать переменные среды в SSISDB, поскольку это позволяет такие вещи, как обновление значения пароля при его изменении в одном месте, и все используемые пакеты получают новое значение при запуске.

...