カスタム タスクの作成
更新 : 2007 年 9 月 15 日
カスタム タスクの作成手順は、Integration Services の他のカスタム オブジェクトの作成手順と同様です。
- 基本クラスを継承する新しいクラスを作成します。タスク用の基本クラスは Task です。
- クラスに、オブジェクトの種類を識別する属性を適用します。タスクの属性は DtsTaskAttribute です。
- 基本クラスのメソッドとプロパティの実装をオーバーライドします。タスクでは、Task.Validate(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging) および Task.Execute(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging,System.Object) メソッドが対象です。
- 必要に応じて、カスタム ユーザー インターフェイスを開発します。タスクでは、IDtsTaskUI インターフェイスを実装するクラスが必要です。
カスタム タスクの実際のサンプルについては、「Custom Increment Task サンプルの作成」を参照してください。
カスタム タスクの概要
プロジェクトおよびクラスの作成
すべてのマネージ タスクは Task 基本クラスから派生するため、カスタム タスクを作成するには、最初に任意のマネージ プログラミング言語でクラス ライブラリ プロジェクトを作成し、基本クラスを継承するクラスを作成します。この派生クラスで、基本クラスのメソッドとプロパティをオーバーライドして、カスタム機能を実装します。
同じソリューション内に、もう 1 つのクラス ライブラリ プロジェクトをカスタム ユーザー インターフェイス用に作成します。配置を容易にするため、ユーザー インターフェイス用に別個のアセンブリを使用することをお勧めします。そうすれば、接続マネージャやそのユーザー インターフェイスの更新や再配置を個別に行うことができます。
どちらのプロジェクトも、アセンブリに署名するよう構成します。アセンブリは、厳密な名前のキー ファイルを使用して、ビルド時に生成されます。
DtsTask 属性の適用
作成したクラスに DtsTaskAttribute 属性を適用して、そのクラスがタスクとして識別されるようにします。この属性には、名前、説明、およびタスクの種類など、デザイン時の情報を指定します。
UITypeName プロパティを使用して、タスクをそのカスタム ユーザー インターフェイスにリンクします。このプロパティに必要な公開キー トークンを取得するには、sn.exe -t を使用して、ユーザー インターフェイス アセンブリへの署名に使用するキー ペア (.snk) ファイルから公開キー トークンを表示します。
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
[DtsTask
(
DisplayName = "MyTask",
IconResource = "MyTask.MyTaskIcon.ico",
UITypeName = "My Custom Task," +
"Version=1.0.0.0," +
"Culture = Neutral," +
"PublicKeyToken = 12345abc6789de01",
TaskType = "PackageMaintenance",
TaskContact = "MyTask; company name; any other information",
RequiredProductLevel = DTSProductLevel.None
)]
public class MyTask : Task
{
// Your code here.
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
<DtsTask(DisplayName:="MyTask", _
IconResource:="MyTask.MyTaskIcon.ico", _
UITypeName:="My Custom Task," & _
"Version=1.0.0.0,Culture=Neutral," & _
"PublicKeyToken=12345abc6789de01", _
TaskType:="PackageMaintenance", _
TaskContact:="MyTask; company name; any other information", _
RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
Inherits Task
' Your code here.
End Class 'MyTask
カスタム タスクの作成、配置、およびデバッグ
Integration Services でカスタム タスクを作成、配置、およびデバッグする手順は、その他の種類のカスタム オブジェクトで必要な手順とほとんど同様です。詳細については、「カスタム オブジェクトのビルド、配置、およびデバッグ」を参照してください。
参照
概念
カスタム タスクの作成
カスタム タスクのコーディング
カスタム タスク用ユーザー インターフェイスの開発
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2007 年 9 月 15 日 |
|
2006 年 4 月 14 日 |
|