2009-11-06 2 views
1

Я пытаюсь выяснить, как закодировать список строк подключения в пакете SSIS. MSDN предполагает, что у меня может быть задача Execute SQL сгенерировать набор результатов в переменную и использовать задачу для каждой задачи, чтобы зацикливать результаты, но мне совершенно не ясно, как это сделать.SSIS Завершите список строк подключения в основном пакете, выполнив два других пакета для каждой строки подключения

Итак, у меня есть таблица с одним столбцом nvarchar со списком строк соединения OLEDB сервера Sql Server, все, что на самом деле отличается между ними, - это имя базы данных.

Я хочу перебирать этот список в главном корпусе исполняющего двух других пакетов для каждого соединения:

Foreach connstring Pass connstring упаковать 1 и выполнить его Pass connstring упаковать 2 и выполнить его следующий connstring

Я пытаюсь использовать задачу ForEachLoop в проекте SSIS в визуальной студии и задаче ExecutePackage, но свойства задачи и выражения для объекта ForEachLoop, которые я нахожу, трудно понять.

EDIT:

Хорошо, я понял, как установить диспетчер соединений ConnectionString свойство выражения на основе переменной. Создайте строковую переменную, затем выберите соединение в диспетчере подключений и в окне свойств щелкните elipses для свойства Expressions и выберите свойство ConnectionString в диалоговом окне, а затем объедините переменную имени базы данных в строку соединения в редакторе выражений.

Теперь мне нужно выяснить, как установить другую переменную как строковый массив имен баз данных, которые настраиваются в файле XML dtconfig.

EDIT:

  • Кто-нибудь знает, как установить переменную пакета SSIS быть строковый массив читать из XML-файла dtConfig для пакета?

ответ

1

То, что я сделал в конце концов:

  • Создать Execute SQL Task
  • Установите себе SQL: SELECT Имя_базы_данных FROM tbDataBaseNames
  • Установите ResultSet свойство Полный результирующий набор
  • На вкладке «Результат» установите «Имя результата» в «0» и выберите мою переменную System.Object (это приведет к хранению набора записей ADO)
  • В ForEachLoop contai нер выбрать Foreach ADO Enumerator
  • Выберите свою переменную System.Object в качестве объекта ADO Источник
  • На вкладке Variable Сопоставления выберите свою переменную String (Это будет получать значение из каждой строки, как это петли)

 Смежные вопросы

  • Нет связанных вопросов^_^