第 2 课:添加循环

第 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 循环容器。 还将设置用户定义的包变量,以便使该教程包能够迭代遍历文件夹中的所有平面文件。 如果您尚未完成上一课,则也可以复制本教程中附带的已完成的 Lesson 1 包。

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

重要说明重要提示

本教程需要 AdventureWorksDW2012 示例数据库。 有关如何安装和部署 AdventureWorksDW2012 的详细信息,请参阅开始使用 SQL Server 示例和示例数据库

课程任务

本课包含以下任务:

开始课程

步骤 1:复制第 1 课包

请参阅

概念

For 循环容器