Конфигурации свойств диспетчера подключений на уровне проекта SSIS

Я только начал изучать развертывание проекта SSIS 2012. Одна вещь, которую я заметил, заключается в том, что после развертывания проекта все свойства, относящиеся к диспетчеру соединений на уровне проекта, также развертываются и, следовательно, должны быть настроены (связаны с переменными среды SSIS).

Просто интересно, достаточно ли умна среда SSIS, чтобы вывести свойство ConnectionString из свойств InitialCatalog и ServerName. Таким образом, мне понадобятся только переменные среды InitialCatalog и ServerName, а не третья переменная, содержащая фактическую строку подключения, что приведет к дублированию конфигурации.

Пожалуйста, смотрите скриншот ниже, показывающий пример этого.

введите здесь описание изображения


person jeremyh    schedule 16.04.2015    source источник
comment
Или вы можете использовать 1 переменную среды, которая представляет собой целое ConnectionString, и забыть возиться с частями.   -  person billinkc    schedule 17.04.2015


Ответы (2)


Если я правильно понял ваш вопрос, вы хотите установить начальный каталог и свойство имени сервера параматически.

Вот шаги, чтобы сделать это: [Применимо для SSIS 2005 и выше]

Шаг 1. Создайте две переменные в пакете SSIS (область пакета) и назовите их DbName, ServerName.

введите здесь описание изображения

Шаг 2. В диспетчере соединений создайте соединение OLEDB и проверьте соединение.

Шаг 3. Теперь щелкните правой кнопкой мыши диспетчер соединений и выберите свойства.

Шаг 4. В свойствах нажмите выражение. Вы увидите ниже окно. В этом окне выберите исходный каталог

введите здесь описание изображения

Шаг 5. Теперь щелкните выражение и перетащите переменную DbName (т. е. имя вашего каталога) из верхнего левого окна в текстовое поле выражения и оцените ее.

введите здесь описание изображения

Шаг 6. Сделайте то же самое для имени сервера. и вы закончили

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

Другой способ, специально для SSIS 2012 и более поздних версий

Теперь, как вы упомянули SSIS2012. Давайте воспользуемся функцией параметра проекта

  • Создайте переменные уровня проекта. Вы можете создать два имени переменных [DBName, ServerName] или полную строку подключения.

введите здесь описание изображения

  • Создайте соединение OLEDB в диспетчере соединений и щелкните правой кнопкой мыши соединение. Затем выберите "Parameterize"

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

введите здесь описание изображения

Прочитайте это ссылка для более подробной информации

person Zerotoinfinity    schedule 16.04.2015
comment
Спасибо за очень подробный ответ! Если я скажу только параметризовать свойства ServerName и InitialCatalog диспетчера соединений на уровне проекта, будет ли свойство ConnectionString выводиться из этих свойств? Просто кажется странным, что когда я развертываю на сервере, свойство ConnectionString также автоматически развертывается в разделе Configuration Manager на моем снимке экрана, предполагая, что его тоже необходимо привязать к переменной среды SSIS. - person jeremyh; 16.04.2015
comment
Проверьте эту ссылку msdn.microsoft.com/en-us/library/hh213214.aspx ›В целом, если вы развертываете пакет с использованием модели развертывания пакетов, вам следует использовать конфигурации вместо параметров. Когда вы развертываете пакет, содержащий параметры, с использованием модели развертывания пакета, а затем выполняете пакет, параметры не вызываются во время выполнения. Если пакет содержит параметры пакета, а выражения в пакете используют параметры, результирующие значения применяются во время выполнения. Если пакет содержит параметры проекта, выполнение пакета может завершиться ошибкой. - person Zerotoinfinity; 16.04.2015
comment
Я использую модель развертывания проекта. Я думаю, что ответ на мой вопрос заключается в том, что свойства ServerName и InitialCatalog, привязанные к переменным среды SSIS, перезапишут проектное значение в свойстве ConnectionString (даже если оно по-прежнему автоматически развертывается на сервере и фактически не настраивается/не используется). - person jeremyh; 16.04.2015

Я протестировал несколько комбинаций ConnectionString, InitialCatalog и ServerName. Похоже, имя сервера (DataSource) и начальный каталог должны быть в строке подключения, а начальный каталог должен иметь значение. Если я оставил имя сервера пустым, оно работало до тех пор, пока DataSource был в строке подключения.

person GMW    schedule 21.07.2015