SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)

SQL Server 2008 R2

SSIS_Foreach 循环容器_Foreach Item 枚举器(循环读取数据库)


1. 首先在两个数据库中创建两个相同的表。下面将演示 将这两个表的数据插入到test2中的一个新表。

select * from test..tb
select * from test2..tb
SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第1张图片

2. 拖动一个【Foreach 循环容器】和一个【数据流任务】。

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第2张图片

3.编辑【Foreach 循环容器】,在选项【集合】中选择【Foreach Item 枚举器】,然后添加一列,完后输入两个数据库的名称。

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第3张图片


4. 在选项【变量映射】中 新建变量,定义为【DatabaseName】,索引第一个默认为0 ,即对应选择器集合的第一列。

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第4张图片


5.容器设置完成,现在设置数据流。新建【OLE DB 源】和【OLE DB 目标】。

源数据库为test,选中tb表(主要先取到正确的结构);目标就换另一个数据库吧,目标库要新建表格表,根据源表传递的结构;

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第5张图片

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第6张图片


6.选中源数据库的【连接管理器】,右键属性。选择Expressions 右边的按钮。

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第7张图片


7.属性选择【InitialCatalog】,即数据库名称。表达式拖选循环器的变量【User::DatabaeName】

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第8张图片


8.确认完成,【OLE DB 源】出现红叉,但是不要紧,直接编译。结果两个表的数据插入到一个新表了!

SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第9张图片SSIS【Foreach 循环容器_Foreach Item 枚举器】(循环读取数据库)_第10张图片



完成!




你可能感兴趣的:(SSIS)