包配置
更新日期: 2006 年 7 月 17 日
SQL Server 2005 Integration Services (SSIS) 提供可用于在运行时更新属性值的包配置。配置是添加到已完成包中的属性/值对。通常,在包开发期间您在包对象上创建包设置属性,然后将配置添加到包中。当包运行时,它从配置中获取新的属性值。例如,通过使用配置,您可以更改连接管理器的连接字符串,或者更新变量的值。
包配置具有下列优点:
- 使用配置可以更轻松地将包从开发环境转移到生产环境中。例如,配置可以更新源文件的路径,或者更改数据库或服务器的名称。
- 将包部署到多台不同的服务器时,配置非常有用。例如,用于每个已部署包的配置中的变量可以包含不同的磁盘空间,并且如果可用磁盘空间不满足此值,包将不会运行。
- 配置可以使包更加灵活。例如,配置可以更新在属性表达式中使用的变量的值。
Integration Services 支持几种不同的存储包配置(例如 XML 文件、SQL Server 数据库中的表以及环境变量和包变量)的方法。
每个配置都是一个属性/值对。XML 配置文件和 SQL Server 配置类型可以包括多个配置。
在创建用于安装包的包部署实用工具时将会包括这些配置。在安装包时,可以在安装包的过程中更新配置。
注意: |
---|
若要更好地熟悉本部分介绍的概念,请参阅部署包教程和创建简单 ETL 包教程的第 3 课:添加包配置。 |
包配置类型
下表介绍了包配置的类型。
类型 | 说明 |
---|---|
XML 配置文件 |
XML 文件包含配置。XML 文件可以包括多个配置。 |
环境变量 |
环境变量包含配置。 |
注册表项 |
注册表项包含配置。 |
父包变量 |
包中的变量包含配置。此配置类型通常用于更新子包中的属性。 |
SQL Server 表 |
SQL Server 数据库中的表包含配置。表可以包括多个配置。 |
XML 配置文件
如果选择**“XML 配置文件”**配置类型,您可以创建一个新的配置文件;重用现有文件并添加新的配置;也可以重用现有文件但覆盖现有文件的内容。
XML 配置文件包括两部分:
- 包含有关配置文件信息的标题。此元素包括的属性有该文件的创建时间和该文件的创建者的姓名等。
- 包含有关每个配置的信息的配置元素。此元素包括的特性有属性路径和属性的配置值等。
下列 XML 代码说明了 XML 配置文件的语法。此示例显示了一个名为 MyVar
的整数变量的 Value 属性配置。
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo
GeneratedBy="DomainName\UserName"
GeneratedFromPackageName="Package"
GeneratedFromPackageID="{2AF06766-817A-4E28-9878-0DE37A150648}"
GeneratedDate="2/01/2005 5:58:09 PM"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::MyVar].Value" ValueType="Int32">
<ConfiguredValue>0</ConfiguredValue>
</Configuration>
</DTSConfiguration>
注册表项
如果要使用注册表项存储配置,可以使用已有项或在 HKEY_CURRENT_USER 中创建新项。使用的注册表项必须具有名为 Value 的值。该值可以是 DWORD 或一个字符串。
如果选择**“注册表项”**配置类型,请在“注册表项”框中键入注册表项的名称。格式为 <注册表项>。如果要使用不在 HKEY_CURRENT_USER 根目录下的注册表项,请使用 <注册表项\注册表项\...> 格式来标识该项。例如,若要使用 SSISPackages 中的 MyPackage 项,请键入 SSISPackages\MyPackage。
SQL Server
如果选择 SQL Server 配置类型,则需指定到要存储这些配置的 SQL Server 数据库的连接。可以将配置保存到现有表,也可以在指定数据库中新建表。
下面的 SQL 语句说明了包配置向导提供的默认 CREATE TABLE 语句。
CREATE TABLE [dbo].[SSIS Configurations]
(
ConfigurationFilter NVARCHAR(255) NOT NULL,
ConfiguredValue NVARCHAR(255) NULL,
PackagePath NVARCHAR(255) NOT NULL,
ConfiguredValueType NVARCHAR(20) NOT NULL
)
您为配置提供的名称就是在 ConfigurationFilter 列中存储的值。
直接配置和间接配置
Integration Services 提供了直接配置和间接配置。如果直接指定配置,Integration Services 会在配置项和包对象属性之间创建直接链接。如果源的位置不更改,则直接配置是较好的选择。例如,如果确定包中的所有部署都使用相同的文件路径,则可以指定一个 XML 配置文件。
间接配置使用环境变量。配置不直接指定配置设置,而是指向环境变量,环境变量又包含配置值。如果对于包的每个部署,配置的位置都可以更改,则使用间接配置是较好的选择。
请参阅
任务
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 7 月 17 日 |
|
2006 年 4 月 14 日 |
|