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,今天就介绍到这来。有喜欢的朋友,有什么问题可以给我留言。

原文地址:https://www.cnblogs.com/zsjtianya/p/2559736.html