共用方式為


封裝組態

更新: 2006 年 7 月 17 日

SQL Server 2005 Integration Services (SSIS) 提供可用以在執行階段更新屬性值的封裝組態。組態是您加入已完成封裝的一組屬性/值配對。一般而言,您建立封裝、在封裝開發期間設定封裝物件的屬性,然後將組態加入至封裝。當封裝執行時,它會從組態取得新的屬性值;舉例來說,經由使用組態,您可以變更連接管理員的連接字串,或更新變數的值。

封裝組態提供下列優點:

  • 組態會使將封裝從開發環境移至實際執行環境更為容易。例如,組態可以更新來源檔案的路徑,或者變更資料庫或伺服器的名稱。
  • 組態在您將封裝部署到許多不同的伺服器時非常有用。例如,組態中每個已部署封裝的變數都可包含不同的磁碟空間值,如果可用磁碟空間不符合這個值,封裝就不會執行。
  • 組態使封裝更有彈性。例如,組態可以更新屬性運算式中使用的變數值。

Integration Services 支援使用幾種不同的方法儲存封裝組態,例如 XML 檔案、SQL Server 資料庫中的資料表,以及環境和封裝變數。

每個組態都是屬性/值配對。XML 組態檔和 SQL Server 組態類型可以包含多重組態。

當您建立用以安裝封裝的封裝部署公用程式時,會包含這些組態。在安裝封裝時,您可以在封裝的安裝過程中更新這些組態。

ms141682.note(zh-tw,SQL.90).gif附註:
若要更加瞭解此章節中所解說的概念,請參閱<建立簡易 ETL 封裝教學課程>的<部署封裝教學課程>以及<第 3 課:加入封裝組態>。

封裝組態類型

下表描述封裝組態類型。

類型 描述

XML 組態檔

XML 檔案包含組態。XML 檔案可以包含多重組態。

環境變數

環境變數包含組態。

登錄項目

登錄項目包含組態。

父封裝變數

封裝中的變數包含組態。這個組態類型通常用來更新子封裝中的屬性。

SQL Server 資料表

SQL Server 資料庫中的資料表包含組態。資料表可以包含多重組態。

XML 組態檔

如果選取 [XML 組態檔] 組態類型,您可以建立新的組態檔、重複使用現有的檔案並加入新組態,或者重複使用現有的檔案但覆寫現有的檔案內容。

XML 組態檔包含兩個區段:

  • 包含組態檔相關資訊的標題。此項目包含諸如檔案建立時間和產生檔案之使用者的姓名等屬性。
  • 包含每個組態相關資訊的組態項目。此項目包含諸如屬性 (Property) 路徑和屬性 (Property) 的已設定值等屬性 (Attribute)。

下面的 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 或字串。

如果您選取 [登錄機碼] 組態類型,就要在 [登錄] 項目方塊中輸入登錄機碼的名稱。格式為 <registry key>。如果您想要使用不在 HKEY_CURRENT_USER 根目錄中的登錄機碼,請使用 <registry key\registry key\...> 格式識別該機碼。例如,若要使用位於 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 日

變更的內容:
  • 新增有關如何使用登錄項目儲存組態的資訊。