TaskHost クラス
単一のタスクをカプセル化するコンテナを提供します。SSIS デザイナでは、TaskHost が個別に構成されません。このコンテナによってカプセル化されたタスクのプロパティを設定する際に構成されます。
継承階層
System. . :: . .Object
Microsoft.SqlServer.Dts.Runtime. . :: . .DtsObject
Microsoft.SqlServer.Dts.Runtime. . :: . .Executable
Microsoft.SqlServer.Dts.Runtime. . :: . .DtsContainer
Microsoft.SqlServer.Dts.Runtime. . :: . .EventsProvider
Microsoft.SqlServer.Dts.Runtime..::..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 から継承されています。) |
先頭に戻る
説明
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) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。