第 2 课:添加循环

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

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

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

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

  • ADO 记录集行和架构信息

  • 文件和目录结构

  • 系统、包和用户变量

  • SQL Server 管理对象 (SMO)

在本课中,您将修改在第 1 课中创建的简单 ETL 包,以便利用 Foreach 循环容器。还将设置用户定义的包变量,以便使该教程包能够迭代遍历文件夹中的所有平面文件。如果您尚未完成上一课,则也可以复制本教程中附带的已完成的 Lesson 1 包。

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

重要说明重要提示

本教程需要 AdventureWorksDW 示例数据库。有关如何安装和部署 AdventureWorksDW 的详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项

请参阅

概念