包配置允许您从开发环境的外部设置运行时属性和变量。配置允许您开发灵活的并且易于部署和分发的包。Microsoft SQL Server 2005 Integration Services (SSIS) 提供了以下配置类型:
- XML 配置文件
- 环境变量
- 注册表项
- 父包变量
- SQL Server 表
在本课中,将修改在第 2 课:添加循环中创建的简单 Integration Services 包,以便利用包配置。使用包配置向导,将创建一个 XML 配置,以便通过使用映射到 Directory 属性的包级别变量来更新 Foreach 循环容器的 Directory 属性。在创建配置文件之后,将从开发环境的外部修改该变量的值,并将修改后的属性指向新的示例数据文件夹。再次运行包时,配置文件将填充该变量的值,而该变量又会更新 Directory 属性。结果,包将迭代遍历新数据文件夹中的文件,而不是迭代遍历在该包中硬编码的原始文件夹中的文件。
在此任务中,将创建 SSIS Tutorial 项目中包含的 Lesson 2.dtsx 包的副本。您将使用这一新副本来完成第 3 课剩余部分。
创建 Lesson 2 包
如果尚未打开 Business Intelligence Development Studio,请单击“开始”,依次指向“所有程序”、Microsoft SQL Server 2005,再单击 Business Intelligence Development Studio。
在“文件”菜单上,单击“打开”,单击“项目/解决方案”,选择 SSIS Tutorial,再单击“打开”,然后双击 SSIS Tutorial.sln。
在解决方案资源管理器中,右键单击 Lesson 2.dtsx,再单击“复制”。
在解决方案资源管理器中,右键单击“SSIS 包”,再单击“粘贴”。
默认情况下,复制的包命名为 Lesson 3.dtsx。
在解决方案资源管理器中,双击 Lesson 3.dtsx 打开该包。
在本任务中,将使用包配置向导来启用包配置。您将使用该向导生成 XML 配置文件,该文件包含 Foreach 循环容器的 Directory 属性的配置设置。Directory 属性的值由新的包级别变量在运行时提供,您可以更新该变量。另外,将填充要在测试期间使用的新的示例数据文件夹。
创建映射到 Directory 属性的新的包级别变量
在“控制流”选项卡的设计图面中单击任何地方。这将把作用域设置为将要创建的变量的包。
在 SSIS 菜单上,单击“变量”。
在“变量”窗口中,单击“添加变量”图标。
在“名称”框中,键入 varFolderName。
验证“作用域”是否显示了包的名称。
注意: |
---|
在本教程中,包的名称可能显示为 Lesson 1,这是因为没有在设计时更新内部对象引用。 |
- 将
varFolderName
变量的数据类型设置为“字符串”。
- 返回到“控制流”选项卡,并双击“文件夹中的 Foreach 文件”容器。
- 在“集合”页上,单击“表达式”。
- 在“属性表达式编辑器”内的属性列表中,选择 Directory。
- 在“表达式”框中,单击空单元,再单击省略号按钮 (…)。
- 在“表达式生成器”中,展开“变量”文件夹,并将变量 User:varFolderName 拖到“表达式”框中。
- 单击“确定”按钮。
启用包配置
在设计图面上,单击任意空白区域。
在 SSIS 菜单上,单击“包配置”。
在“包配置组织程序”对话框中,选择“启用包配置”,再单击“添加”。
在包配置向导的欢迎页上,单击“下一步”。
在“选择配置类型”页上,验证“配置类型”是否已设置为“XML 配置文件”。
在“选择配置类型”页上,单击“浏览”。
默认情况下,“选择配置文件位置”对话框将打开至项目文件夹。
在“选择配置文件位置”对话框中,键入 SSISTutorial,再单击“保存”。
在“选择配置类型”页上,单击“下一步”。
在“选择要导出的属性”页上的“对象”窗格中,展开“变量”,展开 varFolderName,展开“属性”,再选择“值”。
在“选择要导出的属性”页上,单击“下一步”。
在“完成向导”页上,键入该配置的配置名称,如 SSIS Tutorial Directory configuration。这是显示在包配置组织程序中的配置名称。
单击“完成”。
单击“关闭”。
向导将创建名为 SSISTutorial.dtsConfig 的配置文件,该文件包含特定变量的 value 的配置设置,此变量用于设置枚举器的 Directory 属性。
注意: 配置文件通常包含有关包属性的复杂信息,但对于本教程,唯一的信息应当是 [User::varFolderName].Properties[Value]。
创建并填充新的示例数据文件夹
在 Windows 资源管理器中,在驱动器的根位置(例如,C:\)创建名为 New Sample Data 的新文件夹。
打开 c:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data 文件夹,然后从该文件夹中复制三个示例文件。
在 New Sample Data 文件夹中,粘贴所复制的文件。
在此任务中,将为包级变量 User::varFolderName 的 Value 属性,修改存储在 SSISTutorial.dtsConfig 文件中的配置设置。该变量可以更新 Foreach 循环容器的 Directory 属性。修改后的值将指向前一个任务中创建的 New Sample Data 文件夹。修改了配置设置并运行包以后,该变量将使用从配置文件填充的值(而不是包中最初配置的目录值),来更新 Directory 属性。
修改目录属性的配置设置
在记事本或其他文本编辑器中,找到并打开在前一个任务中使用包配置向导创建的 SSISTutorial.dtsConfig 配置文件。
更改 ConfiguredValue 元素的值,使其与上一个任务中创建的 New Sample Data 文件夹匹配。请不要将路径用引号括起来。
保存更改,再关闭文本编辑器。
在运行时,包将从运行时更新的变量中获取 Directory 属性的值,而不使用您在创建该包时指定的原始目录名。该变量的值由 SSISTutorial.dtsConfig 文件填充。
若要验证该包在运行时是否使用新值更新了 Directory 属性,只需执行该包。由于只向新目录中复制了三个示例数据文件,因此该数据流将只运行三次,而不遍历原始文件夹中的 14 个文件。
测试 Lesson 3 教程包
在“调试”菜单上,单击“启动调试”。
该包运行完成后,请在“调试”菜单上单击“停止调试”。