次の方法で共有


カスタム タスクの作成

更新 : 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 でカスタム タスクを作成、配置、およびデバッグする手順は、その他の種類のカスタム オブジェクトで必要な手順とほとんど同様です。詳細については、「カスタム オブジェクトのビルド、配置、およびデバッグ」を参照してください。

参照

概念

カスタム タスクの作成
カスタム タスクのコーディング
カスタム タスク用ユーザー インターフェイスの開発

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

変更内容 :
  • 適切な UITypeName プロパティを使用して、コード例を更新しました。

2006 年 4 月 14 日

変更内容 :
  • Description および UITypeName の目的についての情報を示しました。
  • より多くのプロパティを示すために、コード例を更新しました。