包配置

更新日期: 2006 年 7 月 17 日

SQL Server 2005 Integration Services (SSIS) 提供可用于在运行时更新属性值的包配置。配置是添加到已完成包中的属性/值对。通常,在包开发期间您在包对象上创建包设置属性,然后将配置添加到包中。当包运行时,它从配置中获取新的属性值。例如,通过使用配置,您可以更改连接管理器的连接字符串,或者更新变量的值。

包配置具有下列优点:

  • 使用配置可以更轻松地将包从开发环境转移到生产环境中。例如,配置可以更新源文件的路径,或者更改数据库或服务器的名称。
  • 将包部署到多台不同的服务器时,配置非常有用。例如,用于每个已部署包的配置中的变量可以包含不同的磁盘空间,并且如果可用磁盘空间不满足此值,包将不会运行。
  • 配置可以使包更加灵活。例如,配置可以更新在属性表达式中使用的变量的值。

Integration Services 支持几种不同的存储包配置(例如 XML 文件、SQL Server 数据库中的表以及环境变量和包变量)的方法。

每个配置都是一个属性/值对。XML 配置文件和 SQL Server 配置类型可以包括多个配置。

在创建用于安装包的包部署实用工具时将会包括这些配置。在安装包时,可以在安装包的过程中更新配置。

ms141682.note(zh-cn,SQL.90).gif注意:
若要更好地熟悉本部分介绍的概念,请参阅部署包教程创建简单 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 配置文件。

间接配置使用环境变量。配置不直接指定配置设置,而是指向环境变量,环境变量又包含配置值。如果对于包的每个部署,配置的位置都可以更改,则使用间接配置是较好的选择。

请参阅

任务

创建包配置

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 添加了指向教程中说明如何在部署中创建和使用包配置的部分的链接。

2006 年 4 月 14 日

更改的内容:
  • 添加了有关如何使用注册表项来存储配置的信息。