パッケージ構成

更新 : 2006 年 7 月 17 日

SQL Server 2005 Integration Services (SSIS) には、プロパティの値を実行時に更新するためのパッケージ構成が用意されています。1 つの構成は、完了した状態のパッケージに追加するプロパティと値のペアで定義されます。通常、パッケージの開発中にパッケージ オブジェクトにプロパティを設定したパッケージを作成し、そのパッケージに構成を追加します。パッケージの実行時に、構成からこのプロパティの新しい値を取得します。たとえば、構成を使用して、接続マネージャの接続文字列を変更したり、変数の値を更新したりできます。

パッケージの構成には、次のような利点があります。

  • 構成を使用すると、開発環境から運用環境へのパッケージの移行が容易になります。たとえば、ある構成を使用して、ソース ファイルのパスを更新したり、データベースやサーバーの名前を変更したりできます。
  • 構成は、パッケージを多くの異なるサーバーに配置する場合に便利です。たとえば、配置されたパッケージごとの構成の変数に、異なるディスク容量値を格納できます。また、使用できるディスク容量がこの値に満たない場合、パッケージは実行されません。
  • 構成を使用すると、パッケージの柔軟性が高まります。たとえば、構成を使用すると、プロパティ式に使用されている変数の値を更新できます。

Integration Services では、XML ファイル、SQL Server データベース内のテーブル、および環境変数およびパッケージ変数など、パッケージ構成を格納するための複数の異なる方法がサポートされています。

それぞの構成は、プロパティと値のペアで定義されます。XML 構成ファイルと SQL Server 構成の種類には、複数の構成を含めることができます。

構成は、パッケージをインストールするためのパッケージ配置ユーティリティを作成したときに追加されます。パッケージをインストールするときに、パッケージのインストールの 1 つの手順として構成を更新できます。

ms141682.note(ja-jp,SQL.90).gifメモ :
このセクションで説明する概念の詳細については、「パッケージの配置のチュートリアル」、および「簡単な ETL パッケージ作成のチュートリアル」の「レッスン 3 : パッケージ構成の追加」を参照してください。

パッケージの構成の種類

パッケージの構成の種類を次の表に示します。

種類 説明

XML 構成ファイル

XML ファイルに構成を格納します。XML ファイルは、複数の構成を格納できます。

環境変数

環境変数に構成を格納します。

レジストリ エントリ

レジストリ エントリに構成を格納します。

親パッケージ変数

パッケージの変数に構成を格納します。通常、この構成の種類は、子パッケージ内のプロパティを更新するために使用されます。

SQL Server テーブル

SQL Server データベース内のテーブルに構成を格納します。テーブルは、複数の構成を格納できます。

XML 構成ファイル

構成の種類として [XML 構成ファイル] を選択した場合は、新しい構成ファイルを作成したり、既存のファイルを再利用して新しい構成を追加できます。また、既存のファイルを再利用しながら既存のファイルの内容を上書きすることもできます。

XML 構成ファイルには、2 つのセクションがあります。

  • この構成ファイルに関する情報が記載された見出し。この要素には、ファイルの作成日やファイルの作成者の名前などの属性があります。
  • それぞれの構成に関する情報が格納された構成要素。この要素には、プロパティ パスやプロパティの構成値などの属性があります。

次の 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 日

変更内容 :
  • レジストリ エントリを使用して構成を格納する方法に関する情報を追加しました。