Строка динамического подключения SSIS из таблицы SQL

Мне нужно подключиться ко многим базам данных Foxpro, которые имеют строку подключения, например: Data Source=\\All Users\\DB0009\db1.dbc;User ID=xxx;Password=yyy;Provider=VFPOLEDB.1;Persist Security Info=True. ;

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

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

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

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

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


person Kary    schedule 01.02.2012    source источник
comment
Желание состоит в том, чтобы создать авторитетный список всех доступных строк подключения и связать значение с этой строкой подключения?   -  person billinkc    schedule 01.02.2012


Ответы (1)


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

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

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

person mellowgeek    schedule 01.02.2012