次の方法で共有


Custom Increment Task サンプルの作成

更新 : 2005 年 12 月 5 日

Increment Task サンプルでは、カスタム タスクとそれに関連するユーザー インターフェイスをプログラムで作成する方法が示されています。このサンプルは、Itanium ベースのオペレーティング システムではサポートされていません。コード サンプルでは次の機能が実装されます。

  • Microsoft.SqlServer.Dts.Runtime.Task 基本クラスのオーバーライド
  • 検証
  • 実行
  • 永続的なサポート
  • ブレークポイント サポート
  • カスタム イベント

このコード サンプルを実行すると、ループ処理が行われます。ループの反復処理が行われるごとにプライベート整数変数が増加していきます。プロパティ InitialValueIncrementValue、および LoopCount がループ内での処理を制御します。これらのプロパティは、タスクによって実装されるカスタム ユーザー インターフェイスを使用して設定します。カスタム ブレークポイント OnBeforeIncrementOnAfterIncrement、およびそれらのイベントは、変数が増加する前後で発生します。タスクの実行が完了すると、増加した内部変数の値が ExecutionResult プロパティに格納されています。

ms160699.note(ja-jp,SQL.90).gif重要 :
サンプルは、学習に使用することのみを目的に提供されています。これらは、運用環境での使用を目的としたものではなく、運用環境でのテストも実施されていません。Microsoft からは、これらのサンプルについてのテクニカル サポートは提供されません。

サンプルの実行

コード サンプルの場所、ビルド方法、およびインストール方法を確認済みの場合は、「サンプルのテスト」に進み、コード サンプルの構成方法と実行方法を確認してください。

前提条件

このコード サンプルを実行する前に、次の条件が満たされていることを確認してください。

  • サンプル パッケージ、および関連するサンプル データがローカルのハード ディスクにインストールされている。詳細については、Books Online のトピック「Integration Services プログラミング サンプルのインストールとコンパイル」を参照してください。
  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

場所

サンプル コードを既定の場所にインストールした場合は、次のディレクトリに配置されています。

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\IncrementTask Sample

サンプル コードの C# ソリューションは CS ディレクトリに、Visual Basic ソリューションは VB ディレクトリにあります。

サンプルをインストールするために必要な 2 つの手順の詳細については、「サンプルのインストール」を参照してください。SQL Server 2005 のオリジナル リリース後にリリースされた新しいサンプルを含む、サンプルの最新バージョンを入手するには、「SQL Server 2005 Samples and Sample Databases (April 2006)」を参照してください。

サンプルのビルド

まだ Samples フォルダに厳密な名前のキー ファイルを生成していない場合は、次の手順に従ってこのキー ファイルを生成します。サンプル プロジェクトは、ビルド時にこのキー ファイルを使用して、[プロジェクトのプロパティ] ダイアログ ボックスの [署名] タブでアセンブリに署名するように構成されています。

厳密な名前のキー ファイルを生成するには

  1. Microsoft Visual Studio 2005 コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft Visual Studio 2005][Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。

    または

    Microsoft .NET Framework コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft .NET Framework SDK v2.0] の順にポイントして、[SDK コマンド プロンプト] をクリックします。

  2. コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプト ウィンドウの現在のフォルダを Samples フォルダに変更します。このフォルダに作成したキー ファイルは、すべての Microsoft SQL Server 2005 コード サンプルで使用されます。

    ms160699.note(ja-jp,SQL.90).gifメモ :
    サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft SQL Server 2005][マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\90\Samples にあります。
  3. コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。

    sn -k SampleKey.snk

    ms160699.note(ja-jp,SQL.90).gif重要 :
    厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。
  4. 後続の手順では、キー ファイルの公開キー トークンが必要になります。公開キー トークンを取得するには、まず、コマンド プロンプトで次のコマンドを実行して、キー ファイルから公開キーを取得します。

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. コマンド プロンプトで次のコマンドを実行して、公開キー トークンを表示します。

    sn -t SampleKeyPublic.snk

  6. 公開キー トークンをクリップボードにコピーするか、後で使用するために保存します。

サンプルをビルドするには

  1. Microsoft Visual Studio 2005 を起動します。

  2. [ファイル] メニューの [開く] をポイントし、[プロジェクト/ソリューション] をクリックして、目的の Samples ディレクトリから IncrementTask.sln を開きます。Samples ディレクトリは、C# 言語の場合は CS、Visual Basic 言語の場合は VB です。

  3. ソリューション エクスプローラで、IncrementTask.cs コードまたは IncrementTask.vb コードを選択します。

  4. このコード内で DtsTask 属性を探します。IncrementTask.cs のそのコード行で、 UITypeName 属性プロパティに含まれている公開キー トークンの既存値を置き換えます。"PublicKeyToken =" の後の英数字値を、上記の手順で示した値に置き換えてください。

  5. [ビルド] メニューの [IncrementTask のビルド] をクリックして、プロジェクトの DLL をビルドします。

サンプルのインストール

このサンプルは、Visual Basic と C# の両方で提供されています。サンプルのバージョンごとにアセンブリを区別するために、出力アセンブリ名には "CS" または "VB" が追加されます。コンポーネントが正常にビルドされたら、次の手順を実行し、コンポーネントを制御フロー タスクとして Business Intelligence Development Studio に追加します。

アセンブリをドラッグ アンド ドロップしてコンポーネントをグローバル アセンブリ キャッシュにインストールするには

  1. アセンブリ (IncrementTaskCS.dll または IncrementTaskVB.dll) を %system%\Program Files\Microsoft SQL Server\90\DTS\Tasks にあるフォルダにコピーします。

  2. 2 番目のウィンドウを使用して、グローバル アセンブリ キャッシュのディレクトリ (%system%\assembly) を開きます。ほとんどのコンピュータでは、このディレクトリは C:\Windows\assembly になります。

  3. 最初のウィンドウでアセンブリを選択し、assembly フォルダを含むウィンドウにドラッグします。

gacutil.exe を使用してコンポーネントをグローバル アセンブリ キャッシュにインストールするには

  1. [コマンド プロンプト] ウィンドウを開きます。

  2. C# バージョンのコンポーネントとユーザー インターフェイスをグローバル アセンブリ キャッシュにインストールするには、次のコマンドを入力します。

    gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\CS\bin\Debug\IncrementTaskCS.dll"

  3. Visual Basic バージョンのコンポーネントとユーザー インターフェイスをグローバル アセンブリ キャッシュにインストールするには、次のコマンドを入力します。

    gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\VB\bin\Debug\IncrementTaskVB.dll"

   単純化を図るために、このサンプルで使用するユーザー インターフェイスは、タスク コードと同じプロジェクトに入れてあります。このため、ここでは DLL をアセンブリ ディレクトリにコピーするだけで済みます。ユーザー インターフェイスを別のプロジェクトに入れた場合は、コードを含んでいる DLL だけでなく、ユーザー インターフェイスを含んでいる DLL もグローバル アセンブリ キャッシュに追加する必要があります。特定のディレクトリにコンパイルする必要があるのはコードのみです。

サンプルのテスト

SSIS デザイナでサンプル タスクをテストするには、次の手順を実行します。

Business Intelligence Development Studio でサンプルを使用するには

  1. Business Intelligence Development Studio を開きます。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. [新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類][ビジネス インテリジェンス プロジェクト] をクリックし、右側のペインで [Integration Services プロジェクト] をクリックします。

  4. [名前] ボックスで、新しいプロジェクトの名前として「IncrementTask」と入力します。

  5. [場所] ボックスで、ファイルを保存する場所を指定します。[OK] をクリックします。

  6. ソリューション エクスプローラで、[Package.dtsx] をダブルクリックします。

  7. [制御フロー項目] ツールボックスで、[制御フロー項目] がリストされている領域の任意の場所を右クリックします。[アイテムの選択] をクリックします。

  8. [SSIS 制御フロー項目] タブをクリックします。下にスクロールして、IncrementTaskCS アイテムまたは IncrementTaskVB アイテムを選択します。[OK] をクリックします。[IncrementTask] タスクが [制御フロー項目] ツールボックスに表示されます。

  9. タスクをダブルクリックするか、そのタスクを [制御フロー] 画面にドラッグして、[IncrementTask] をパッケージの制御フロー画面に追加します。

  10. タスクがデザイン画面に表示されたら、タスクをダブルクリックしてエディタを起動します。[Loop Count] を 5 に、[Increment Value] を 1 に設定します。

  11. [Done] をクリックします。

  12. パッケージを実行します。

  13. パッケージが終了したら、デザイナの [実行結果] タブを表示します。

変更履歴

リリース 履歴

2005 年 12 月 5 日

変更内容 :
  • キーを作成する手順を追加しました。