【问题标题】:SSIS : Dynamically passing Table namesSSIS:动态传递表名
【发布时间】:2014-12-28 04:55:43
【问题描述】:

我想读取多个表并将其数据转储到一个文件中。我无法将表名动态传递给 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

数据流任务:

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

流程:

【问题讨论】:

  • Table_Name::Variable 的作用域是什么?
  • 除非所有表的元数据都相同,否则这是行不通的

标签: ssis


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多