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

  • 相关阅读:
    Servlet线程安全2
    Servlet线程安全 Filter http://zwchen.iteye.com/blog/91088
    diamond源码阅读-获取服务器列表
    diamond源码阅读-diamond-server
    diamond源码阅读-diamond-client
    diamond源码阅读-循环探测配置信息是否变化rotateCheckConfigInfo
    八、结构模式之组合(Composite)模式
    七、结构模式之-适配器模式
    六、原型(Prototype)模式
    linux的锁比较
  • 原文地址:https://www.cnblogs.com/zsjtianya/p/2559736.html
Copyright © 2020-2023  润新知