Custom Increment Task サンプルの作成
更新 : 2005 年 12 月 5 日
Increment Task サンプルでは、カスタム タスクとそれに関連するユーザー インターフェイスをプログラムで作成する方法が示されています。このサンプルは、Itanium ベースのオペレーティング システムではサポートされていません。コード サンプルでは次の機能が実装されます。
- Microsoft.SqlServer.Dts.Runtime.Task 基本クラスのオーバーライド
- 検証
- 実行
- 永続的なサポート
- ブレークポイント サポート
- カスタム イベント
このコード サンプルを実行すると、ループ処理が行われます。ループの反復処理が行われるごとにプライベート整数変数が増加していきます。プロパティ InitialValue、IncrementValue、および LoopCount がループ内での処理を制御します。これらのプロパティは、タスクによって実装されるカスタム ユーザー インターフェイスを使用して設定します。カスタム ブレークポイント OnBeforeIncrement や OnAfterIncrement、およびそれらのイベントは、変数が増加する前後で発生します。タスクの実行が完了すると、増加した内部変数の値が ExecutionResult プロパティに格納されています。
重要 : |
---|
サンプルは、学習に使用することのみを目的に提供されています。これらは、運用環境での使用を目的としたものではなく、運用環境でのテストも実施されていません。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 フォルダに厳密な名前のキー ファイルを生成していない場合は、次の手順に従ってこのキー ファイルを生成します。サンプル プロジェクトは、ビルド時にこのキー ファイルを使用して、[プロジェクトのプロパティ] ダイアログ ボックスの [署名] タブでアセンブリに署名するように構成されています。
厳密な名前のキー ファイルを生成するには
Microsoft Visual Studio 2005 コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft Visual Studio 2005]、[Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。
または
Microsoft .NET Framework コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft .NET Framework SDK v2.0] の順にポイントして、[SDK コマンド プロンプト] をクリックします。
コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプト ウィンドウの現在のフォルダを Samples フォルダに変更します。このフォルダに作成したキー ファイルは、すべての Microsoft SQL Server 2005 コード サンプルで使用されます。
メモ : サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\90\Samples にあります。 コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。
sn -k SampleKey.snk
重要 : 厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。 後続の手順では、キー ファイルの公開キー トークンが必要になります。公開キー トークンを取得するには、まず、コマンド プロンプトで次のコマンドを実行して、キー ファイルから公開キーを取得します。
sn -p SampleKey.snk SampleKeyPublic.snk
コマンド プロンプトで次のコマンドを実行して、公開キー トークンを表示します。
sn -t SampleKeyPublic.snk
公開キー トークンをクリップボードにコピーするか、後で使用するために保存します。
サンプルをビルドするには
Microsoft Visual Studio 2005 を起動します。
[ファイル] メニューの [開く] をポイントし、[プロジェクト/ソリューション] をクリックして、目的の Samples ディレクトリから IncrementTask.sln を開きます。Samples ディレクトリは、C# 言語の場合は CS、Visual Basic 言語の場合は VB です。
ソリューション エクスプローラで、IncrementTask.cs コードまたは IncrementTask.vb コードを選択します。
このコード内で DtsTask 属性を探します。IncrementTask.cs のそのコード行で、 UITypeName 属性プロパティに含まれている公開キー トークンの既存値を置き換えます。"PublicKeyToken =" の後の英数字値を、上記の手順で示した値に置き換えてください。
[ビルド] メニューの [IncrementTask のビルド] をクリックして、プロジェクトの DLL をビルドします。
サンプルのインストール
このサンプルは、Visual Basic と C# の両方で提供されています。サンプルのバージョンごとにアセンブリを区別するために、出力アセンブリ名には "CS" または "VB" が追加されます。コンポーネントが正常にビルドされたら、次の手順を実行し、コンポーネントを制御フロー タスクとして Business Intelligence Development Studio に追加します。
アセンブリをドラッグ アンド ドロップしてコンポーネントをグローバル アセンブリ キャッシュにインストールするには
アセンブリ (IncrementTaskCS.dll または IncrementTaskVB.dll) を %system%\Program Files\Microsoft SQL Server\90\DTS\Tasks にあるフォルダにコピーします。
2 番目のウィンドウを使用して、グローバル アセンブリ キャッシュのディレクトリ (%system%\assembly) を開きます。ほとんどのコンピュータでは、このディレクトリは C:\Windows\assembly になります。
最初のウィンドウでアセンブリを選択し、assembly フォルダを含むウィンドウにドラッグします。
gacutil.exe を使用してコンポーネントをグローバル アセンブリ キャッシュにインストールするには
[コマンド プロンプト] ウィンドウを開きます。
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"
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 でサンプルを使用するには
Business Intelligence Development Studio を開きます。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] で [ビジネス インテリジェンス プロジェクト] をクリックし、右側のペインで [Integration Services プロジェクト] をクリックします。
[名前] ボックスで、新しいプロジェクトの名前として「IncrementTask」と入力します。
[場所] ボックスで、ファイルを保存する場所を指定します。[OK] をクリックします。
ソリューション エクスプローラで、[Package.dtsx] をダブルクリックします。
[制御フロー項目] ツールボックスで、[制御フロー項目] がリストされている領域の任意の場所を右クリックします。[アイテムの選択] をクリックします。
[SSIS 制御フロー項目] タブをクリックします。下にスクロールして、IncrementTaskCS アイテムまたは IncrementTaskVB アイテムを選択します。[OK] をクリックします。[IncrementTask] タスクが [制御フロー項目] ツールボックスに表示されます。
タスクをダブルクリックするか、そのタスクを [制御フロー] 画面にドラッグして、[IncrementTask] をパッケージの制御フロー画面に追加します。
タスクがデザイン画面に表示されたら、タスクをダブルクリックしてエディタを起動します。[Loop Count] を 5 に、[Increment Value] を 1 に設定します。
[Done] をクリックします。
パッケージを実行します。
パッケージが終了したら、デザイナの [実行結果] タブを表示します。
変更履歴
リリース | 履歴 |
---|---|
2005 年 12 月 5 日 |
|