SSIS:动态传递表名

时间:2014-12-28 04:55:43

标签: ssis

我想读取多个表并将其数据转储到一个文件中。我无法将表名动态传递给OLE DB数据源,它对一个表工作正常。我无法看到任何表下拉列表中的变量。要实现这一点,我正在使用这些组件:

执行SQL任务:

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

ForEach循环容器:

Foreach ADO Enumerator
variable mapping: Table_Name::Variable

DataFlow任务:

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

流速:

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

1 个答案:

答案 0 :(得分:1)

除了对象变量Table_Name之外,还需要映射一个字符串变量来保存单个表名foreach循环。这是在foreach循环枚举器的Variable Mappings中完成的。

创建字符串变量后,您将能够在Oledb组件中看到它。