PipelineComponent 类

定义

定义了开发受管理数据流组件时所使用的基类。

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
继承
PipelineComponent
派生

示例

以下代码示例展示了一个实现 和 DtsPipelineComponentAttribute 的组件,继承自该 PipelineComponent 类。

using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
namespace Microsoft.Samples.SqlServer.Dts  
{  
    [DtsPipelineComponent(DisplayName="SampleComponent")]  
    public class SampleComponent : PipelineComponent  
    {  
        public override ProvideComponentProperties()  
        {  
            // TODO: Implement component intialization.  
        }  
        public override DTSValidationStatus Validate()  
        {  
            // TODO: Implement component validation.  
        }  
        public override void ProcessInput( int inputID, PipelineBuffer buffer)  
        {  
            // TODO: For transformation and destination components,  
            //  implement code to process incoming rows.  
        }  
    }  
}  
Imports System   
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Namespace Microsoft.Samples.SqlServer.Dts   

 <DtsPipelineComponent(DisplayName="SampleComponent")> _   
 Public Class SampleComponent   
 Inherits PipelineComponent   

   Public Overrides Sub ProvideComponentProperties()   
    ' TODO: Implement component intialization.  
   End Sub   

   Public Overrides Function Validate() As DTSValidationStatus   
    ' TODO: Implement component validation.  
   End Function   

   Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
    ' TODO: For transformation and destination components,  
    '  implement code to process incoming rows.  
   End Sub   
 End Class   
End Namespace  

注解

继承这个类,创建你自己的数据流组件。 该类实现所需的组件接口, IDTSDesigntimeComponent100IDTSRuntimeComponent100。 你覆盖这些方法的基类实现,以提供组件的功能。 PipelineComponent 除了组件接口的方法外,还提供辅助方法,帮助你开发组件。

构造函数

名称 说明
PipelineComponent()

初始化 PipelineComponent 类的新实例。

字段

名称 说明
s_STOCKPROPNAME_COMPFLAGS

包含数据流组件的ComparisonFlags属性名称。

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

包含数据流组件的 DeleteOutputOnPathDetached 属性名称。

s_STOCKPROPNAME_EXCLGROUP

包含数据流组件的 ExclusionGroup 属性名称。

s_STOCKPROPNAME_HASSIDEEFFECTS

包含数据流组件的 HasSideEffects 属性名称。

s_STOCKPROPNAME_ISDISTRIBUTABLE

包含数据流组件的 IsDistributable 属性名称。

s_STOCKPROPNAME_ISERROROUT

包含数据流组件的IsErrorOut属性名称。

s_STOCKPROPNAME_ISSORTED

包含数据流组件的IsSorted属性名称。

s_STOCKPROPNAME_REFMETADATAID

包含数据流组件的 ReferenceMetaDataID 属性名称。

s_STOCKPROPNAME_SORTKEYPOS

包含数据流组件的 SortKeyPosition 属性名称。

s_STOCKPROPNAME_SYNCINPUTID

包含数据流组件的 SynchronousInputID 属性名称。

属性

名称 说明
BufferManager

获取 IDTSBufferManager100 管道组件的

ComponentMetaData

为某个组件获得 。IDTSComponentMetaData100

ErrorSupport

返回一个 ErrorSupport 对象,允许组件根据集成服务组件用本地代码编写的 HRESULTS 提出错误、警告或其他信息事件。

EventInfos

获取 IDTSEventInfos100 该物品的集合 PipelineComponent

LogEntryInfos

获取 IDTSLogEntryInfos100 组件已注册的日志事件集合。

ReferenceTracker

获取与组件相关的内容 IDTSObjectReferenceTracker100

VariableDispenser

获取 IDTSVariableDispenser100 数据流部分的部分。

方法

名称 说明
AcquireConnections(Object)

建立连接到连接管理器的连接。

AddErrorOutput(String, Int32, Int32)

添加一个 IDTSOutput100 对象,并通过将属性设置为 IsErrorOut true,标记为错误输出。

BufferTypeToDataRecordType(DataType)

返回基于集成服务数据类型的管理数据类型。

Cleanup()

释放资源并完成组件的执行。

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

从托管代码中获得相应的集成服务 DataType

DataRecordTypeToBufferType(Type)

获得对应于托管类型的集成服务 DataType

DeleteExternalMetadataColumn(Int32, Int32)

从外部元数据列集合中删除指定索引处的外部元数据列。

DeleteInput(Int32)

从集合中删除一个 IDTSInput100 对象 IDTSInputCollection100

DeleteOutput(Int32)

从集合中删除一个 IDTSOutput100 对象 IDTSOutputCollection100

DeleteOutputColumn(Int32, Int32)

从集合中删除一个 IDTSOutputColumn100 对象 IDTSOutputColumnCollection100

DescribeRedirectedErrorCode(Int32)

为添加到输出缓冲区的行提供错误代码信息 PipelineBuffer

GetDependentInputs(Int32)

返回一组等待更多数据、因此阻塞指定输入的输入 ID。

GetErrorOutputInfo(Int32, Int32)

返回组件错误输出的索引和ID。

idxOfBufferType(DataType)

指定缓冲区索引的类型。

idxOfDataRecordType(Type)

指定数据记录索引的类型。

Initialize()

当在派生类中被覆盖时,初始化了自定义数据流组件的新实例。

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

在指定索引处向外部元数据列集合插入一个新的外部元数据列。

InsertInput(DTSInsertPlacement, Int32)

将对象IDTSInput100添加到 .IDTSInputCollection100

InsertOutput(DTSInsertPlacement, Int32)

添加一个新 IDTSOutput100 对象

InsertOutputColumnAt(Int32, Int32, String, String)

创建一个新 IDTSOutputColumn100 对象并将其插入 IDTSOutputColumnCollection100

IsCompatibleNumericTypes(DataType, DataType)

确定两种数值数据类型是否兼容,以支持从一种类型转换到另一种类型。

IsInputReady(Int32[], Boolean[])

确定连接到组件的输入中哪些正在等待更多数据,哪些有足够的数据需要处理而被阻塞。

MapInputColumn(Int32, Int32, Int32)

建立输入列与对应外部元数据列之间的关系。

MapOutputColumn(Int32, Int32, Int32, Boolean)

建立输出列与对应外部元数据列之间的关系。

OnDeletingInputColumn(Int32, Int32)

删除 IDTSInputColumn100 的对象。IDTSInputColumnCollection100

OnInputPathAttached(Int32)

IDTSInput100 对象通过接口连接到组件 IDTSPath100 时调用。

OnInputPathDetached(Int32)

IDTSInput100 对象通过接口与组件 IDTSPath100 断开连接时被调用。

OnOutputPathAttached(Int32)

IDTSOutput100 组件的对象被连接到下游组件时调用。

PerformDowngrade(Int32, DTSTargetServerVersion)

默认情况下,PerformDowngrade不应抛出ComponentDowngradeFailedException,因为运行时只能通过targetServerVersion决定是否调用该方法;它无法检查组件版本,因为它不知道组件版本是否在两个SSIS版本之间被更改,而PerformUpgrade方法会在调用前检查包XML中的组件版本是否小于当前组件版本。

PerformUpgrade(Int32)

将组件元数据升级到本地计算机上安装的组件版本。

PostExecute()

在组件执行结束时调用,但在 Cleanup()之前。

PreExecute()

分别在 PrepareForExecute()、 和 PrimeOutput(Int32, Int32[], PipelineBuffer[])ProcessInput(Int32, PipelineBuffer)之前 和 。

PrepareForExecute()

之前 PreExecute()打过电话。

PrimeOutput(Int32, Int32[], PipelineBuffer[])

运行时调用源组件和异步输出的转换组件,使这些组件向输出缓冲区添加行。

ProcessInput(Int32, PipelineBuffer)

当上游组件的 a PipelineBuffer 可用时调用,让组件处理输入行。

ProvideComponentProperties()

当组件首次添加到数据流任务时调用,以初始化 ComponentMetaData 该组件。

RegisterEvents()

当你开发自定义数据流组件时,你会覆盖此方法来创建自定义事件。

RegisterLogEntries()

记录组件将要记录的事件。

ReinitializeMetaData()

修复在验证过程中发现的任何错误,导致元件在设计时返回 VS_NEEDSNEWMETADATA

ReleaseConnections()

释放在 期间 AcquireConnections(Object)建立的连接。 设计时和运行时都被调用。

RemoveAllInputsOutputsAndCustomProperties()

从组件中删除每个 IDTSInput100IDTSOutput100 对象。

SetComponentProperty(String, Object)

为组件的 a IDTSCustomProperty100 赋予一个值。

SetExternalMetadataColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

设置指定外部元数据列的数据类型属性。

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

设置外部元数据列的单个属性。

SetInputColumnProperty(Int32, Int32, String, Object)

为对象的值IDTSCustomProperty100IDTSInputColumn100赋予一个值。

SetInputProperty(Int32, String, Object)

为对象的值IDTSCustomProperty100IDTSInput100赋予一个值。

SetOutputColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

设置对象的数据 IDTSOutputColumn100 类型属性。

SetOutputColumnProperty(Int32, Int32, String, Object)

为一个IDTSCustomProperty100对象设置 a IDTSOutputColumn100 值。

SetOutputProperty(Int32, String, Object)

设置对象的IDTSCustomProperty100IDTSOutput100值。

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

在组件的 中IDTSInputColumn100创建一个IDTSInputColumnCollection100对象,并设置UsageType列的属性。

Validate()

验证组件配置正确。

适用于