我有一个数据库,我想在一个.dtsx包中导入大约10个不同的表。我可以毫无问题地导入1个单独的表,我的问题是我无法弄清楚如何设置它来迭代表。我知道这将是一个foreach循环但是哪种类型,以及如何指定表?有人可以帮忙吗?
编辑---- 我正在使用数据流任务导入单个表。去Ole DB源 - 到Ole DB目的地。 (从Microsoft Access到SQL Server) 编辑#2 ------ 如何设置我的SQL语句以从多个表中提取数据?我假设这是SQL语句的用武之地答案 0 :(得分:0)
未经测试,但你可以试试这个:
使用EXECUTE SQL任务使用要导入的10个表的列表填充数据集。如果表名是常量,则EXECUTE SQL可以简单如下:
SELECT'Table1'AS TableName UNION ALL 选择'Table2' UNION ALL ...
ForEachLoop通过该数据集,填充您在数据流中的OLEDB源的SQL查询中使用的@sql变量。 @sql变量包含整个SQL选择,从您循环的数据集中选择表名。在OLEDB源中,为数据访问模式选择“来自变量的SQL命令”选项。