SSIS迭代访问表

时间:2014-09-04 13:16:15

标签: ms-access ssis

我有一个数据库,我想在一个.dtsx包中导入大约10个不同的表。我可以毫无问题地导入1个单独的表,我的问题是我无法弄清楚如何设置它来迭代表。我知道这将是一个foreach循环但是哪种类型,以及如何指定表?有人可以帮忙吗?

编辑---- 我正在使用数据流任务导入单个表。去Ole DB源 - 到Ole DB目的地。 (从Microsoft Access到SQL Server)

编辑#2 ------ 如何设置我的SQL语句以从多个表中提取数据?我假设这是SQL语句的用武之地 enter image description here

1 个答案:

答案 0 :(得分:0)

未经测试,但你可以试试这个:

  1. 使用EXECUTE SQL任务使用要导入的10个表的列表填充数据集。如果表名是常量,则EXECUTE SQL可以简单如下:

    SELECT'Table1'AS TableName UNION ALL 选择'Table2' UNION ALL ...

  2. ForEachLoop通过该数据集,填充您在数据流中的OLEDB源的SQL查询中使用的@sql变量。 @sql变量包含整个SQL选择,从您循环的数据集中选择表名。在OLEDB源中,为数据访问模式选择“来自变量的SQL命令”选项。