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 对象是任务的包装对象,在创建任务期间以透明方式创建。 它作为对象ExecutableAdd方法返回,并作为一个TaskHost对象进行强制转换。 最后,通过属性访问 InnerObject 任务实例。 有关所有 SSIS 容器的详细信息,请参阅 Integration Services 容器

字段

m_executable

可执行文件。

(继承自 Executable)

属性

ApartmentThreaded

获取一个值,该值指示任务是否为单元线程对象。

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

返回 ID,它是 DtsContainer 的 GUID。 该值为只读的。

(继承自 DtsContainer)
InnerObject

获取用于访问由 TaskHost 承载的任务实例的方法。

IsDefaultLocaleID

指示容器是否使用默认区域设置的布尔值。 此属性为只读。

(继承自 DtsContainer)
IsolationLevel

获取或设置 DtsContainer 对象中事务的隔离级别。

(继承自 DtsContainer)
LocaleID

获取或设置一个 Integer 类型的值,该值指示在执行对象时 DtsContainer 要使用的 Microsoft Win32® 区域设置 ID。

(继承自 DtsContainer)
LogEntryInfos

返回一个 LogEntryInfos 对象。 此属性为只读。

(继承自 DtsContainer)
LoggingMode

获取或设置 DTSLoggingMode 枚举中的一个有效值,该值指示容器的日志记录模式。

(继承自 DtsContainer)
LoggingOptions

返回一个对象,该对象包含指示容器的筛选和日志记录资源的属性。 此属性为只读。

(继承自 DtsContainer)
MaximumErrorCount

获取或设置一个 Integer 值,该值指示对象停止运行之前 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()

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 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)

适用于