zoukankan      html  css  js  c++  java
  • SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)

    第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurrency 事实数据表中。

    但是,提取、转换和加载 (ETL) 过程很少使用单个平面文件。 典型的 ETL 过程从多个平面文件源提取数据。 从多个源提取数据需要采用迭代控制流。Microsoft Integration Services 最可能出现的功能之一是可以方便快捷地向包中添加迭代或循环。

    Integration Services 为循环遍历包提供了两种容器类型:Foreach 循环容器和 For 循环容器。 Foreach 循环容器使用枚举器执行循环,而 For 循环容器则通常使用变量表达式。 本课使用 Foreach 循环容器。

    Foreach 循环容器使包能够对指定枚举器的每个成员重复执行控制流。 使用 Foreach 循环容器,可以枚举:

    • ADO 记录集行

    • ADO .Net 架构信息

    • 文件和目录结构

    • 系统、包和用户变量

    • 在变量中包含的可枚举对象

    • 集合中的项

    • XML Path 语言 (XPath) 表达式中的节点

    • SQL Server 管理对象 (SMO)

    在本课中,将修改在第 1 课中创建的简单 ETL 包,以便利用 Foreach 循环容器。 还将设置用户定义的包变量,以便使该教程包能够迭代遍历文件夹中的所有平面文件。 

    在本课中,将不修改数据流,而只修改控制流。

    Step 1:添加和配置Foreach循环容器

      1. 选中Control Folw,在SSIS Toolbox => Containers => Foreach Loop Container拖拽到Control Folw

      2. 双击Foreach Loop Container进行编辑

        General:Name更改为Foreach File in Folder。

        Collection:Enumerator选择Foreach File Enumerator;Folder选择课程1中下载的文件夹;Files,输入Currency_*.txt,查找所有Currency_开头的txt文件。

      3. 将枚举映射为用户变量,按下图所示创建变量varFileName

      

      

      

    Step 2:修改平面文件连接管理器

      1. 在Connectoin Managers中选中Sample Flat File Source Data,点击右键属性

      2. 在Expressions中,点击...,在Property中选择ConnectionString,Expression中将User::varFileName拖到Expression中。

      

    Step 3:测试ETL包

      1. 点击Debug => Starting Debugging开始运行包

      

  • 相关阅读:
    WPF 中依赖属性的继承(Inherits)
    使用FluentValidation来进行数据有效性验证
    使用ASP.Net WebAPI构建REST服务(六)——Self-Host
    使用ASP.Net WebAPI构建REST服务(五)——客户端
    使用ASP.Net WebAPI构建REST服务(四)——参数绑定
    使用ASP.Net WebAPI构建REST服务(三)——返回值
    使用ASP.Net WebAPI构建REST服务(二)——路由
    使用ASP.Net WebAPI构建REST服务(一)——简单的示例
    WPF在代码中创建DataTemplate时候的异常
    一个简单的WeakList的实现
  • 原文地址:https://www.cnblogs.com/purple5252/p/10233350.html
Copyright © 2011-2022 走看看