2014-12-28 4 views
1

Я хочу прочитать более одной таблицы и выгрузить свои данные в файл. Я не могу динамически передавать имя таблицы в источник данных OLE DB, она отлично работает для одной таблицы. I Я не в состоянии видеть любую переменную в раскрывающемся list.To сделать это, я использую эти компоненты:SSIS: Динамическое прохождение имен таблиц

Execute SQL Task:

SELECT name FROM SYS.tables WHERE name IN('A','B') 
ResultSet : Table_Name::Variable (Object Type) 

ForEach Loop Контейнер:

Foreach ADO Enumerator 
variable mapping: Table_Name::Variable 

DataFlo ж Задача:

OLE DB Source <---- How to pass table name dynamicallv 
(I am trying to use Table name variable, but when I click on drop down I don't see any variable here, I was expecting Table_Name variable there) 

Flat File Destination 

Flow:

enter image description here enter image description here enter image description here

+0

Какова область действия Table_Name :: Variable? –

+0

Если метаданные для всех таблиц не совпадают, это не сработает – billinkc

ответ

1

Помимо переменной объекта, table_name, также необходимо отобразить строку переменной содержать один имени таблицы Еогеасп цикла. Это делается в Переменных отображениях перечислителя цикла foreach.

Как только строковая переменная будет создана, вы сможете увидеть ее в компоненте Oledb.