Строка динамического соединения служб SSIS из таблицы SQL - PullRequest
0 голосов
/ 01 февраля 2012

Мне нужно подключиться ко многим базам данных Foxpro, которые имеют строку подключения, такую ​​как: Источник данных = \\ Все пользователи \\ DB0009 \ db1.dbc; ID пользователя = xxx; Пароль = yyy; Поставщик = VFPOLEDB.1; Информация о сохранении безопасности = True;

где папка DB0009 может быть любым целым числом от 0000 до 0100, а db1.dbc может быть либо db1.dbc, либо db2.dbc для каждой папки.

Для каждой строки подключения мне нужно создать простой оператор SQL, который будет идентичен для каждой базы данных, кроме года с жестким кодом. Итак, sql: select *, '2012' из таблицы

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

Я использую SSIS 2008. Я догадываюсь, исходя из того, что я видел, что я могу использовать цикл foreach с перечислителем, установленным в качестве перечислителя ADO (хотя я не возражаю против подтверждения там), но как я могу это сделать? вытащить год из этой же таблицы и поместить его в запрос sql, который у меня есть в задаче потока данных?

Спасибо за любую помощь! Карого

1 Ответ

1 голос
/ 01 февраля 2012

Вы можете сделать следующие шаги:

  1. Создание цикла foreach для получения строки подключения и значений года в переменные.
  2. создайте менеджер соединений и, используя выражение, задайте для свойства строки соединения переменную строки подключения.
  3. Создайте еще одну переменную с выражением, которое создает команду SQL с переменной year (строка команды динамического SQL).
  4. используйте задачу execute SQL, чтобы выполнить ее в пределах каждого foreach.

Вот ссылка на блог о сопоставлении параметра в задаче «Выполнение SQL», которая должна быть полезной. http://www.rafael -salas.com / 2007/11 / SSIS-отображение-параметр-внутри-of.html

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