TaskHost 類別

定義

提供封裝單一工作的容器。 在 SSIS 設計師中,TaskHost 不是分開設定,而是在您設定其封裝之工作的屬性時設定。

public ref class TaskHost sealed : Microsoft::SqlServer::Dts::Runtime::EventsProvider, Microsoft::SqlServer::Dts::Runtime::IDTSExecutionPath, Microsoft::SqlServer::Dts::Runtime::IDTSObjectHost, Microsoft::SqlServer::Dts::Runtime::IDTSPackagePath, Microsoft::SqlServer::Dts::Runtime::IDTSPropertiesProvider, Microsoft::SqlServer::Dts::Runtime::IDTSPropertiesProviderEx
public sealed class TaskHost : Microsoft.SqlServer.Dts.Runtime.EventsProvider, Microsoft.SqlServer.Dts.Runtime.IDTSExecutionPath, Microsoft.SqlServer.Dts.Runtime.IDTSObjectHost, Microsoft.SqlServer.Dts.Runtime.IDTSPackagePath, Microsoft.SqlServer.Dts.Runtime.IDTSPropertiesProvider, Microsoft.SqlServer.Dts.Runtime.IDTSPropertiesProviderEx
type TaskHost = class
    inherit EventsProvider
    interface IDTSObjectHost
    interface IDTSPropertiesProvider
    interface IDTSPropertiesProviderEx
    interface IDTSPackagePath
    interface IDTSExecutionPath
Public NotInheritable Class TaskHost
Inherits EventsProvider
Implements IDTSExecutionPath, IDTSObjectHost, IDTSPackagePath, IDTSPropertiesProvider, IDTSPropertiesProviderEx
繼承
實作

範例

下列程式碼範例會示範如何建立空的封裝。 這兩項工作會加入至封裝並轉換成 TaskHost 類別,因此 TaskHost 方法和屬性可用於任一項工作(例如 InnerObject 方法),而不需考慮何種類型的工作。

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

備註

Integration Services 提供數種不同類型的容器來建立封裝,其中有 TaskHost 一個容器。 TaskHost容器會為單一工作提供服務。 圖形化設計工具工具箱中沒有相符的專案。 TaskHost物件是工作的包裝函式物件,會在工作建立期間以透明的方式建立。 它會從方法傳回 Add 做為 Executable 物件,並轉換成 TaskHost 。 最後,工作實例是透過屬性來存取 InnerObject 。 如需所有 SSIS 容器的詳細資訊,請參閱 Integration Services 容器

欄位

m_executable

可執行檔。

(繼承來源 Executable)

屬性

ApartmentThreaded

取得值,這個值會指出工作是否為 Apartment 執行緒物件。

CreationName

傳回用來建立 DtsContainer 物件執行個體的字串。 這是唯讀的屬性。

(繼承來源 DtsContainer)
DebugMode

取得或設定布林值,這個布林值會指出物件是否處於「偵測」 DtsContainer 模式,以及它是否應該在執行 OnBreakpointHit(IDTSBreakpointSite, BreakpointTarget) 時引發事件。

(繼承來源 DtsContainer)
DelayValidation

取得或設定布林值,這個布林值表示是否要延遲到執行時間才驗證工作。 預設值為 false。

(繼承來源 DtsContainer)
Description

取得或設定 DtsContainer 物件的描述。

(繼承來源 DtsContainer)
Disable

布林值,指出 DtsContainer 物件是否已停用。

(繼承來源 DtsContainer)
DisableEventHandlers

取得或設定布林值,這個布林值表示是否停用工作上的事件處理常式。

(繼承來源 EventsProvider)
EventHandlers

傳回事件處理常式物件的集合。 此欄位為唯讀。

(繼承來源 EventsProvider)
EventInfos

傳回 EventInfo 物件集合。 此欄位為唯讀。

(繼承來源 EventsProvider)
ExecutionDuration

傳回值,這個值表示容器花在執行的時間量 (以毫秒為單位)。 這是唯讀的屬性。

(繼承來源 DtsContainer)
ExecutionResult

傳回值,指出 DtsContainer 物件執行成功或失敗。

(繼承來源 DtsContainer)
ExecutionStatus

傳回值,這個值表示 DtsContainer 物件在呼叫時的目前執行狀態。

(繼承來源 DtsContainer)
ExecutionValue

取得工作執行的結果。 這是唯讀的屬性。

ExecValueVariable

取得或設定包含工作執行結果的自訂 Variable

FailPackageOnFailure

取得或設定布林值,指出子容器失敗時,封裝是否失敗。 這個屬性是使用於容器,而不是封裝本身。

(繼承來源 DtsContainer)
FailParentOnFailure

取得或設定 Boolean,這個值定義子容器失敗時,父容器是否也失敗。

(繼承來源 DtsContainer)
ForcedExecutionValue

如果 ForceExecutionValue 屬性設定為 True,則取得或設定值,這個值會指定封裝所傳回的選擇性執行值。

(繼承來源 DtsContainer)
ForceExecutionResult

取得或設定指定容器強制執行結果的 DTSForcedExecResult 列舉值。

(繼承來源 DtsContainer)
ForceExecutionValue

取得或設定布林值,這個布林值會指出是否應該強制執行容器的執行值以包含特定的值。

(繼承來源 DtsContainer)
HasExpressions

取得值,該值指出 TaskHost 物件是否有運算式。

HostType

DTSObjectHostType 列舉中取得描述容器主機的值。 這是唯讀的屬性。

ID

傳回 DtsContainer 的識別碼 (為 GUID)。 此值是唯讀的。

(繼承來源 DtsContainer)
InnerObject

取得用來存取 TaskHost 主控之工作執行個體的方法。

IsDefaultLocaleID

布林值,指出容器是否使用預設的地區設定。 這是唯讀的屬性。

(繼承來源 DtsContainer)
IsolationLevel

取得或設定 DtsContainer 物件中的交易隔離等級。

(繼承來源 DtsContainer)
LocaleID

取得或設定整數,這個整數表示執行物件時要使用的 Microsoft Win32® localeID DtsContainer

(繼承來源 DtsContainer)
LogEntryInfos

傳回 LogEntryInfos 物件。 這個屬性是唯讀的。

(繼承來源 DtsContainer)
LoggingMode

取得或設定 DTSLoggingMode 列舉中的有效值,這個值表示容器的記錄模式。

(繼承來源 DtsContainer)
LoggingOptions

傳回物件,該物件包含表示容器之篩選和記錄資源的屬性。 這是唯讀的屬性。

(繼承來源 DtsContainer)
MaximumErrorCount

取得或設定整數值,這個值會指出物件停止執行之前,可以發生的錯誤數目上限 DtsContainer

(繼承來源 DtsContainer)
Name

取得或設定 DtsContainer 的名稱。

(繼承來源 DtsContainer)
Parent

傳回父容器。 此值是唯讀的。

(繼承來源 DtsContainer)
Properties

取得 DtsProperties 集合,其中包含與工作相關聯的屬性。

Site

取得或設定容器的站台。

(繼承來源 DtsContainer)
StartTime

傳回容器開始執行的時間。 這是唯讀的屬性。

(繼承來源 DtsContainer)
StopTime

傳回容器結束執行的時間。 這是唯讀的屬性。

(繼承來源 DtsContainer)
SuspendRequired

取得或設定布林值,這個布林值表示當工作遇到中斷點時是否應該暫停。 此值是由執行階段引擎針對工作和容器遇到中斷點時設定的。

(繼承來源 DtsContainer)
TransactionOption

取得或設定 DTSTransactionOption 列舉值,指出容器是否參與交易。

(繼承來源 DtsContainer)
VariableDispenser

傳回 VariableDispenser 物件,以便可以鎖定與容器相關聯的變數。

(繼承來源 DtsContainer)
Variables

傳回集合,其中包含與這個容器相關聯的變數。 這是唯讀的屬性。

(繼承來源 DtsContainer)

方法

AcceptBreakpointManager(BreakpointManager)

在建立工作或容器時,執行階段引擎會呼叫這個方法,並將 BreakpointManager 管理員傳遞給它,以允許工作建立、移除及檢查中斷點的狀態。 這個方法由執行階段呼叫,並不使用於程式碼中。

(繼承來源 DtsContainer)
ComputeExpressions(Boolean)

計算 TaskHost 物件的運算式。

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

(繼承來源 DtsContainer)
Equals(Object)

判斷兩種物件執行個體是否相同。

(繼承來源 DtsObject)
Execute(Connections, Variables, IDTSEvents, IDTSLogging, Object)

將應用程式、容器或封裝當做封裝工作流程的一部分執行。

(繼承來源 DtsContainer)
GetExecutionPath()

傳回目前 TaskHost 的執行路徑。

GetExpression(String)

傳回指定之屬性的運算式。 Null 表示未指派任何運算式。

GetHashCode()

傳回這個執行個體的雜湊碼。

(繼承來源 DtsObject)
GetPackagePath()

傳回工作位置的路徑。

LoadFromXML(XmlNode, IDTSEvents)

應用程式的程式碼不能呼叫這個方法。 若要載入另存為 .xml 的封裝,請使用 LoadPackage(String, IDTSEvents) 方法。

(繼承來源 DtsContainer)
ResumeExecution()

在暫停之後繼續執行工作。 工作或容器是由執行階段引擎繼續執行。

(繼承來源 DtsContainer)
SaveToXML(XmlDocument, XmlNode, IDTSEvents)

應用程式的程式碼不能呼叫這個方法。 若要將封裝另存為 .xml,請使用 SaveToXml(String, Package, IDTSEvents) 方法。

(繼承來源 DtsContainer)
SetExpression(String, String)

將指定的運算式指派至屬性。 指定 null 可從屬性中移除現有的運算式。

SetWrappedExecutable(IDTSExecutable100)

傳回已包裝的可執行物件。

(繼承來源 EventsProvider)
SuspendExecution()

可執行檔必須暫停時呼叫。 執行階段引擎會呼叫這個方法。

(繼承來源 DtsContainer)
Validate(Connections, Variables, IDTSEvents, IDTSLogging)

可讓容器判斷它是否包含無效的設定,因而無法順利執行。

(繼承來源 DtsContainer)

事件

Disposed

加入事件處理常式來接聽元件上的 Disposed 事件。

(繼承來源 DtsContainer)

適用於