SSIS教程SQlServer2008R2 (3) 添加包配置

时间:2020-11-26 18:45:41

第 3 课:添加包配置

SQL Server 2008 R2

 包配置允许您从开发环境的外部设置运行时属性和变量。配置允许您开发灵活且易于部署和分发的包。Microsoft IntegrationServices 提供以下配置类型:

·        XML 配置文件

·        环境变量

·        注册表项

·        父包变量

·        SQL Server 表

在本课中,将修改在第2课添加循环中创建的简单 Integration Services 包,以便利用包配置。还可以复制本教程中附带的已完成的 Lesson 2 包。使用包配置向导,将创建一个 XML 配置,以便通过使用映射到 Directory 属性的包级别变量来更新 Foreach 循环容器的 Directory 属性。在创建配置文件之后,将从开发环境的外部修改该变量的值,并将修改后的属性指向新的示例数据文件夹。再次运行包时,配置文件将填充该变量的值,而该变量又会更新Directory  属性。结果,包将迭代遍历新数据文件夹中的文件,而不是迭代遍历在该包中硬编码的原始文件夹中的文件。

重要提示

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

课程任务


本课程包含以下任务:

·        任务 1:复制 Lesson 2 包

·        任务 2:启用和配置包配置

·        任务 3:修改目录属性配置值

·        任务 4:测试 Lesson 3 教程包

任务 1:复制 Lesson 2 包

SQL Server 2008 R2

其他版本

此主题尚未评级评价此主题

在本任务中,为在第 2 课中创建的 Lesson 2.dtsx 包创建一个副本。如果未完成第 2 课的学习,则可以向项目中添加本教程中附带的已完成的 Lesson 2 包,然后再对其进行复制。您将使用这一新副本来完成第 3 课剩余部分。

创建 Lesson 2 包

1.   如果 Business IntelligenceDevelopment Studio 尚未打开,请单击“开始”,依次指向“所有程序”和 Microsoft SQLServer,再单击 BusinessIntelligence Development Studio。

2.   在“文件”菜单中,单击“打开”,单击“项目/解决方案”,选择 SSIS Tutorial,再单击“打开”,然后双击 SSISTutorial.sln。

3.   在解决方案资源管理器中,右键单击 Lesson 2.dtsx,再单击“复制”。

4.   在解决方案资源管理器中,右键单击“SSIS 包”,再单击“粘贴”。

默认情况下,复制的包命名为 Lesson 3.dtsx。

5.   在解决方案资源管理器中,双击 Lesson 3.dtsx 打开该包。

6.   右键单击“控制流”选项卡背景的任意位置,再单击“属性”。

7.   在“属性”窗口中,将Name 属性更新为Lesson 3。

8.   单击 ID 属性框,然后在列表中,单击“<生成新 ID>”。

添加已完成的 Lesson 2 包

1.   依次打开 Business IntelligenceDevelopment Studio 和 SSIS Tutorial 项目。

2.   在解决方案资源管理器中,右键单击“SSIS 包”,再单击“添加现有包”。

3.   在“添加现有包的副本”对话框的“包位置”中,选择“文件系统”。

4.   单击浏览 (…) 按钮,导航到 C:\Program Files\Microsoft SQLServer\100\Samples\Integration Services\ Tutorial\ Creating a Simple ETLpackage\Completed Packages,选择 Lesson2.dtsx,再单击“打开”。

5.   按先前过程中步骤 3-8 中所述,复制并粘贴 Lesson 2 包。

任务 2:启用和配置包配置

SQL Server 2008 R2

其他版本

此主题尚未评级评价此主题

在本任务中,将使用包配置向导来启用包配置。您将使用该向导生成 XML 配置文件,该文件包含 Foreach 循环容器的 Directory 属性的配置设置。Directory 属性的值由新的包级别变量在运行时提供,您可以更新该变量。另外,将填充要在测试期间使用的新的示例数据文件夹。

创建映射到 Directory 属性的新的包级别变量

1.   在 SSIS 设计器中,单击“控制流”选项卡的背景。这会将要创建的变量的作用域设置为包。

2.   在 SSIS 菜单中,选择“变量”。

3.   在“变量”窗口中,单击“添加变量”图标。

4.   在“名称”框中,键入 varFolderName。

重要提示

变量名称区分大小写。

5.   验证“作用域”框是否显示了包的名称 Lesson 3。

6.   将 varFolderName 变量的“数据类型”框的值设置为“字符串”。

7.   返回到“控制流”选项卡,并双击“文件夹中的 Foreach 文件”容器。

8.   在 Foreach 循环编辑器的“集合”页中,单击“表达式”,再单击省略号按钮(…)。

9.   在“属性表达式编辑器”中,单击“属性”列表,并选择“目录”。

10.在“表达式”框中,单击省略号按钮 (…)。

11.在“表达式生成器”中,展开“变量”文件夹,并将变量 User::varFolderName 拖动到“表达式”框中。

12.单击“确定”退出表达式生成器。

13.单击“确定”退出属性表达式编辑器。

启用包配置

1.   在 SSIS 设计器中,单击“控制流”选项卡的背景。

2.   在 SSIS 菜单上,单击“包配置”。

3.   在“包配置组织程序”对话框中,选择“启用包配置”,再单击“添加”。

4.   在包配置向导的欢迎页中,单击“下一步”。

5.   在“选择配置类型”页上,验证“配置类型”是否已设置为“XML 配置文件”。

6.   在“选择配置类型”页中,单击“浏览”。

7.   默认情况下,“选择配置文件位置”对话框将打开至项目文件夹。

8.   在“选择配置文件位置”对话框的“文件名”中,键入 SSISTutorial,再单击“保存”。

9.   在“选择配置类型”页中,单击“下一步”。

10.在“选择要导出的属性”页中的“对象”窗格中,展开“变量”,展开 varFolderName,展开“属性”,再选择“值”。

11.在“选择要导出的属性”页中,单击“下一步”。

12.在“完成向导”页中,键入该配置的配置名称,如 SSIS Tutorial Directory configuration。这是显示在“包配置组织程序”对话框中的配置名称。

13.单击“完成”。

14.单击“关闭”。

15.向导将创建名为SSISTutorial.dtsConfig 的配置文件,该文件包含特定变量的 value 的配置设置,此变量用于设置枚举器的 Directory 属性。

注意

配置文件通常包含有关包属性的复杂信息,但对于本教程,唯一的信息应当是 [User::varFolderName].Properties[Value]。

创建并填充新的示例数据文件夹

1.   在 Windows 资源管理器中,在驱动器的根位置(例如,C:\)创建名为 New Sample Data 的新文件夹。

2.   打 开 c:\Program Files\MicrosoftSQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\SampleData 文件夹,然后复制该文件夹中的任意三个示例文件。

3.   在 New SampleData 文件夹中,粘贴所复制的文件。

任务 3:修改目录属性配置值

SQL Server 2008 R2

其他版本

此主题尚未评级评价此主题

在此任务中,将针对包级变量 User::varFolderName 的 Value 属性,修改存储在SSISTutorial.dtsConfig 文件中的配置设置。该变量可以更新 Foreach 循环容器的Directory 属性。修改后的值将指向前一个任务中创建的 NewSample Data 文件夹。修改了配置设置并运行包以后,该变量将使用从配置文件填充的值(而不是包中最初配置的目录值),来更新Directory 属性。

修改目录属性的配置设置

1.   在记事本或其他文本编辑器中,找到并打开在前一个任务中使用包配置向导创建的 SSISTutorial.dtsConfig 配置文件。

2.   更改 ConfiguredValue 元素的值,使其与上一个任务中创建的 NewSample Data 文件夹匹配。请不要将路径用引号括起来。如果 New Sample Data 文件夹在驱动器的根级(例如,C:\)上,则更新的 XML 应与下面的示例类似:

<?xmlversion="1.0"?><DTSConfiguration><DTSConfigurationHeading><DTSConfigurationFileInfoGeneratedBy="Domain\UserName" GeneratedFromPackageName="Lesson3" GeneratedFromPackageID="{99396D72-2F8D-4A37-8362-96346AD53334}"GeneratedDate="11/12/2005 12:46:13PM"/></DTSConfigurationHeading><ConfigurationConfiguredType="Property"Path="\Package.Variables[User::varFolderName].Properties[Value]"ValueType="String"><ConfiguredValue>C:\New SampleData</ConfiguredValue></Configuration></DTSConfiguration>

当然,标题信息(GeneratedBy、GeneratedFromPackageID 和 GeneratedDate )将与您的文件有所不同。要注意的元素是Configuration元素。变量 User::varFolderName 的 Value 属性现在包含 C:\New Sample Data。

3.   保存更改,再关闭文本编辑器。

任务 4:测试 Lesson 3 教程包

SQL Server 2008 R2

在运行时,包将从运行时更新的变量中获取 Directory 属性的值,而不使用您在创建该包时指定的原始目录名。该变量的值由SSISTutorial.dtsConfig 文件填充。

若要验证该包在运行时是否使用新值更新了 Directory 属性,只需执行该包。由于只向新目录中复制了三个示例数据文件,因此该数据流将只运行三次,而不遍历原始文件夹中的 14 个文件。

检查包布局


测试包之前,应当确保 Lesson 3 包中的控制流和数据流包含下列关系图中显示的对象。控制流应与 Lesson 2 中的控制流相同,数据流应与 Lesson 1 和 Lesson 2 中的数据流相同。

控制流

数据流

测试 Lesson 3 教程包

1.   在“调试”菜单中,单击“启动调试”。

2.   该包运行完成后,请在“调试”菜单上单击“停止调试”。