TaskHost クラス

単一のタスクをカプセル化するコンテナを提供します。SSIS デザイナでは、TaskHost が個別に構成されません。このコンテナによってカプセル化されたタスクのプロパティを設定する際に構成されます。

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public NotInheritable Class TaskHost _
    Inherits EventsProvider _
    Implements IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
'使用
Dim instance As TaskHost
public sealed class TaskHost : EventsProvider, 
    IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
public ref class TaskHost sealed : public EventsProvider, 
    IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
[<SealedAttribute>]
type TaskHost =  
    class
        inherit EventsProvider
        interface IDTSObjectHost
        interface IDTSPropertiesProvider
        interface IDTSPackagePath
    end
public final class TaskHost extends EventsProvider implements IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath

TaskHost 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ ApartmentThreaded インフラストラクチャです。
パブリック プロパティ CreationName DtsContainer オブジェクトのインスタンスを作成するために使用される文字列を返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ DebugMode DtsContainer オブジェクトがデバッグ モードであるかどうか、および実行中に OnBreakpointHit イベントを起動する必要があるかどうかを示す Boolean を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ DelayValidation 実行時までタスクの検証が遅延されるかどうかを示す Boolean を取得または設定します。既定値は false です。 (DtsContainer から継承されています。)
パブリック プロパティ Description DtsContainer オブジェクトの説明を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ Disable DtsContainer オブジェクトが無効かどうかを示す Boolean です。 (DtsContainer から継承されています。)
パブリック プロパティ DisableEventHandlers タスクのイベント ハンドラが無効かどうかを示す Boolean を取得します。値の設定も可能です。 (EventsProvider から継承されています。)
パブリック プロパティ EventHandlers イベント ハンドラ オブジェクトのコレクションを返します。このフィールドは読み取り専用です。 (EventsProvider から継承されています。)
パブリック プロパティ EventInfos EventInfo オブジェクトのコレクションを返します。このフィールドは読み取り専用です。 (EventsProvider から継承されています。)
パブリック プロパティ ExecutionDuration コンテナーが実行中に費やした時間をミリ秒単位で示す値を返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ ExecutionResult DtsContainer オブジェクトの実行が成功したかどうかを示す値を返します。 (DtsContainer から継承されています。)
パブリック プロパティ ExecutionStatus 呼び出し時における DtsContainer オブジェクトの実行の現在の状態を示す値を返します。 (DtsContainer から継承されています。)
パブリック プロパティ ExecutionValue タスクの実行結果を返します。このプロパティは読み取り専用です。
パブリック プロパティ ExecValueVariable タスクの実行結果を格納するカスタム Variable を取得します。値の設定も可能です。
パブリック プロパティ FailPackageOnFailure 子コンテナーが失敗したときにパッケージが失敗するかどうかを示す Boolean を取得または設定します。このプロパティは、パッケージ自体ではなく、コンテナーで使用されます。 (DtsContainer から継承されています。)
パブリック プロパティ FailParentOnFailure 子コンテナーが失敗したときに親コンテナーが失敗するかどうかを定義する Boolean を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ ForcedExecutionValue ForceExecutionValue プロパティが true に設定されている場合は、パッケージから返されるオプションの実行値を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ ForceExecutionResult コンテナーの強制実行結果を指定する DTSForcedExecResult 列挙値を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ ForceExecutionValue コンテナーの実行値に特定の値を適用する必要があるかどうかを示す Boolean を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ HostType コンテナのホストを示す値を DTSObjectHostType 列挙から取得します。このプロパティは読み取り専用です。
パブリック プロパティ ID DtsContainer の ID を返します。この ID は GUID です。この値は読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ InnerObject TaskHost がホストするタスク インスタンスへのアクセスに使用されるメソッドです。
パブリック プロパティ IsDefaultLocaleID コンテナーが既定のロケールを使用するかどうかを示す Boolean です。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ IsolationLevel DtsContainer オブジェクト内のトランザクションの分離レベルを取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ LocaleID DtsContainer オブジェクトが実行されるときに使用する Microsoft Win32® localeID を示す Integer を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ LogEntryInfos LogEntryInfos オブジェクトを返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ LoggingMode コンテナーのログ モードを示す有効な値を DTSLoggingMode 列挙から取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ LoggingOptions コンテナーのフィルターおよびログ記録のリソースを示すプロパティを表すオブジェクトを返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ MaximumErrorCount DtsContainer オブジェクトが実行を停止する前に発生する可能性があるエラーの最大数を示す Integer 値を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ Name DtsContainer の名前を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ Parent 親コンテナーを返します。この値は読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ Properties タスクに関連付けられたプロパティを含む DtsProperties コレクションを返します。
パブリック プロパティ Site インフラストラクチャです。 (DtsContainer から継承されています。)
パブリック プロパティ StartTime コンテナーが実行を開始した時刻を返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ StopTime コンテナーが実行を終了した時刻を返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)
パブリック プロパティ SuspendRequired ブレークポイントに到達したときにタスクを中断するかどうかを示す Boolean を取得または設定します。この値は、ブレークポイントに到達したときにタスクおよびコンテナーに対してランタイム エンジンで設定されます。 (DtsContainer から継承されています。)
パブリック プロパティ TransactionOption コンテナーがトランザクションに参加するかどうかを示す DTSTransactionOption 列挙値を取得または設定します。 (DtsContainer から継承されています。)
パブリック プロパティ VariableDispenser VariableDispenser オブジェクトを返します。これにより、コンテナーに関連付けられた変数をロックできます。 (DtsContainer から継承されています。)
パブリック プロパティ Variables このコンテナーに関連付けられた変数を含むコレクションを返します。このプロパティは読み取り専用です。 (DtsContainer から継承されています。)

先頭に戻る

メソッド

  名前 説明
パブリック メソッド AcceptBreakpointManager このメソッドは、タスクまたはコンテナーの作成時にランタイム エンジンによって呼び出され、そのタスクまたはコンテナーを BreakpointManager マネージャーに渡します。これによりタスクは、ブレークポイントを作成または削除したり、ブレークポイントの状態を確認することができます。このメソッドはランタイムで呼び出されるメソッドであり、コードでは使用されません。 (DtsContainer から継承されています。)
パブリック メソッド Dispose アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 (DtsContainer から継承されています。)
パブリック メソッド Equals 2 つのオブジェクト インスタンスが等しいかどうかを示します。 (DtsObject から継承されています。)
パブリック メソッド Execute パッケージ ワークフローの一部として、アプリケーション、コンテナー、またはパッケージを実行します。 (DtsContainer から継承されています。)
プロテクト メソッド Finalize (Object から継承されています。)
パブリック メソッド GetExpression 指定したプロパティの式を返します。Null は、式が割り当てられていないことを示します。
パブリック メソッド GetHashCode このインスタンスのハッシュ コードを返します。 (DtsObject から継承されています。)
パブリック メソッド GetPackagePath タスクが格納されているパスを返します。
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド LoadFromXML このメソッドをアプリケーション コードから呼び出すことはできません。.xml として保存されたパッケージを読み込むには、Application..::..LoadPackage メソッドを使用します。 (DtsContainer から継承されています。)
プロテクト メソッド MemberwiseClone (Object から継承されています。)
パブリック メソッド ResumeExecution 一時停止したタスクの実行を再開します。タスクまたはコンテナーは、ランタイム エンジンによって再開されます。 (DtsContainer から継承されています。)
パブリック メソッド SaveToXML このメソッドをアプリケーション コードから呼び出すことはできません。パッケージを .xml として保存するには、Application..::..SaveToXml メソッドを使用します。 (DtsContainer から継承されています。)
パブリック メソッド SetExpression 指定した式をプロパティに割り当てます。既存の式をプロパティから削除するには、nullNothingnullptrunitNULL 参照 (Visual Basic では Nothing) を指定します。
プロテクト メソッド SetWrappedExecutable インフラストラクチャです。 (EventsProvider から継承されています。)
パブリック メソッド SuspendExecution 実行可能ファイルを中断する必要がある場合に呼び出されます。このメソッドはランタイム エンジンで呼び出されます。 (DtsContainer から継承されています。)
パブリック メソッド ToString (Object から継承されています。)
パブリック メソッド Validate コンテナーの正常実行を妨げる無効な設定が含まれていないかどうかを確認できます。 (DtsContainer から継承されています。)

先頭に戻る

イベント

  名前 説明
パブリック イベント Disposed コンポーネント上の Disposed イベントを待機するイベント ハンドラーを追加します。 (DtsContainer から継承されています。)

先頭に戻る

フィールド

  名前 説明
プロテクト フィールド m_executable インフラストラクチャです。 (Executable から継承されています。)

先頭に戻る

説明

Integration Services は、パッケージの作成用に複数の異なる種類のコンテナを提供しています。こうしたコンテナの 1 つとして、TaskHost があります。TaskHost コンテナは単一のタスクにサービスを提供します。グラフィカル デザイナ ツールボックスには、このコンテナに対応するアイテムがありません。TaskHost オブジェクトはタスクのラッパー オブジェクトであり、タスク作成中に透過的に作成されます。このオブジェクトは、Add メソッドから Executable オブジェクトとして返され、TaskHost としてキャストされます。最後に、タスクのインスタンスが InnerObject プロパティを介してアクセスされます。すべての SSIS コンテナの詳細については、「Integration Services コンテナー」を参照してください。

使用例

次のコード例は、空のパッケージの作成を示しています。2 つのタスクをパッケージに追加し、TaskHost クラスにキャストします。これは、InnerObject メソッドなど、TaskHost のメソッドやプロパティを、タスクの種類にかかわらず、いずれかのタスクで使用できるようにするためです。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;

namespace Microsoft.SqlServer.SSIS.Samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Package p = new Package();
            // Add a File System task to the package.
            Executable exec1 = p.Executables.Add("STOCK:FileSystemTask");
            TaskHost thFileSystemTask = exec1 as TaskHost;
            // Add a Bulk Insert task to the package.
            Executable exec2 = p.Executables.Add("STOCK:BulkInsertTask");
            TaskHost thBulkInsertTask = exec2 as TaskHost;

            // Iterate through the package Executables collection.
            Executables pExecs = p.Executables;
            foreach (Executable pExec in pExecs)
            {
                TaskHost taskHost = (TaskHost)pExec;
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString());
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
 
Namespace Microsoft.SqlServer.SSIS.Samples
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim p As Package =  New Package() 
            ' Add a File System task to the package.
            Dim exec1 As Executable =  p.Executables.Add("STOCK:FileSystemTask") 
            Dim thFileSystemTask As TaskHost =  exec1 as TaskHost 
            ' Add a Bulk Insert task to the package.
            Dim exec2 As Executable =  p.Executables.Add("STOCK:BulkInsertTask") 
            Dim thBulkInsertTask As TaskHost =  exec2 as TaskHost 
 
            ' Iterate through the package Executables collection.
            Dim pExecs As Executables =  p.Executables 
            Dim pExec As Executable
            For Each pExec In pExecs
                Dim taskHost As TaskHost = CType(pExec, TaskHost)
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString())
            Next
        End Sub
    End Class
End Namespace

サンプルの出力 :

Type Microsoft.SqlServer.Dts.Tasks.FileSystemTask.FileSystemTask

Type Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。