SSIS 组件使用 (2)
1介绍组件
1).Foreach Loop Container
2).Execute SQL Task
2.功能介绍
1).Foreach Loop Container 是一个循环遍历的容器,类似于C#中的foreach
2).Execute SQL Task 就是一条Sql命令。
3.使用操作
Foreach Loop Container。首先场景是这样的,我有一大堆sql脚本在一个文件夹里面,
我想将这些脚本执行到数据库上。这个场景是我们做系统开发的时候遇到一些常见的问题。解决
方法有多种,我这里主要来讲用SSIS怎么实现。
首先建立一个工程,将Foreach Loop Container组建拽上。我的本地有一个Sql文件夹,里面有三个
脚本,分别是创建上个表的脚本。我sqlserver2008本地有一个数据库SSISTestingBase,里面没有
用户创建的表。
Step1.选择Foreach Loop Container
Step2.编辑->集合->文件夹
我们将选择有sql脚本的文件夹,后面的files,我们填写*.sql
这个意思只要是学计算机的都非常明白是什么意思。
后面的选项是返回一个文件的全部路径还是名称等,同时还可以遍历子文件夹。

Step3.我们要添加一个Execute SQL Task 到foreach容器里面,同时要设置一个变量,来
保存每次容器读取的Sql脚本路径,然后将sql脚本路径给Execute SQL Task 执行。
添加完变量之后,我们在容器中要做一个变量的mapping。

Step4.Execute SQL Task 执行的属性设置
首先要设置连接,就是执行到那个数据库。
其次要执行的类型,是变量执行还是直接脚本。
但是我们foreach读出来的是一个文件路径,那怎么得到
路径的文件呢?
我们选择类型的时候,肯定要选择File connection,这样就会弹出一个
框,要你选择是创建还是已经存在的文件,我们这里当然要选择创建。

然后选择连接管理器,设置文件的连接变量,也就是foreach读出的文件路径。

选择SqlFile,右键属性,选择Expressions,选择ConnectionString
选择按钮来选择变量

将Sql变量拽到Expression,点击Ok完成。
到目前,我们的工程就完成,测试能否执行。

ok,今天就介绍到这来。有喜欢的朋友,有什么问题可以给我留言。

浙公网安备 33010602011771号