第 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 循环容器。 你还将设置用户定义的包变量,使教程包能够循环访问文件夹中的所有平面文件。 如果尚未完成上一课,还可以复制本教程随附的已完成的第 1 课包。

在本课中,你不会修改数据流,只修改控制流。

重要

本教程需要 AdventureWorksDW2012 示例数据库。 有关如何安装和部署 AdventureWorksDW2012 的详细信息,请参阅 CodePlex 上的 Reporting Services 产品示例

课程任务

本课程包含以下任务:

开始课程

步骤 1:复制第 1 课材料

另请参阅

For 循环容器