在第 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 示例和示例数据库。 |
课程任务
本课包含以下任务:
重要提示