TaskHost 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供封装单个任务的容器。 在 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 对象是任务的包装对象,在创建任务期间以透明方式创建。 它作为对象Executable从Add方法返回,并作为一个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 |
获取或设置一个 |
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) |
方法
事件
Disposed |
添加用于侦听组件的 Disposed 事件的事件处理程序。 (继承自 DtsContainer) |