TaskHost Class
単一のタスクをカプセル化するコンテナを提供します。SSIS デザイナでは、TaskHost が個別に構成されません。このコンテナによってカプセル化されたタスクのプロパティを設定する際に構成されます。
名前空間: Microsoft.SqlServer.Dts.Runtime
アセンブリ: Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内)
構文
'宣言
Public NotInheritable Class TaskHost
Inherits EventsProvider
Implements IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
public sealed class TaskHost : EventsProvider, IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
public ref class TaskHost sealed : public EventsProvider, IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath
public final class TaskHost extends EventsProvider implements IDTSObjectHost, IDTSPropertiesProvider,
IDTSPackagePath
public final class TaskHost extends EventsProvider implements IDTSObjectHost, IDTSPropertiesProvider,
IDTSPackagePath
解説
Integration Services は、パッケージの作成用に複数の異なる種類のコンテナを提供しています。こうしたコンテナの 1 つとして、TaskHost があります。TaskHost コンテナは単一のタスクにサービスを提供します。グラフィカル デザイナ ツールボックスには、このコンテナに対応するアイテムがありません。TaskHost オブジェクトはタスクのラッパー オブジェクトであり、タスク作成中に透過的に作成されます。このオブジェクトは、Add メソッドから Executable オブジェクトとして返され、TaskHost としてキャストされます。最後に、タスクのインスタンスが InnerObject プロパティを介してアクセスされます。すべての SSIS コンテナの詳細については、「Integration Services コンテナ」を参照してください。
継承階層
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
使用例
次のコード例は、空のパッケージの作成を示しています。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 (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。