SSIS来迭代访问表

问题描述:

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

编辑---- 我正在导入带有数据流任务的单个表。进入Ole DB源到Ole数据库目标。 (从Microsoft Access到SQL Server)

编辑#2 ------ 如何设置我的SQL语句以从多个表中提取数据?我想这是在SQL语句会去 enter image description here

+0

如何导入1表?使用数据流或对象副本? – 2014-09-04 13:22:00

+0

是 - 数据流任务。现在编辑初始文章。 – MasterOfStupidQuestions 2014-09-04 13:26:11

+0

10张桌子有相同的结构吗? – Shriike 2014-09-04 13:37:37

未经检验的,但你可以试试这个:

  1. 使用执行SQL任务来填充数据集要10代表的列表进口。如果表名是不变的,执行SQL可以简单:

    选择 '表1' AS表名 UNION ALL SELECT '表2' UNION ALL ...

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

+0

如何迭代访问数据库中的表以创建数据集? – MasterOfStupidQuestions 2014-09-04 13:49:55

+0

您不迭代表格,您迭代表名称。您的OLEDB源必须使用查询,而不是表格。 – 2014-09-04 13:52:29

+0

更接近 - 但仍然有点困惑。看到我的第二次编辑。 – MasterOfStupidQuestions 2014-09-04 13:55:48