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 除了提供组件接口的方法之外,还提供了 helper 方法,以帮助你开发组件。

构造函数

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 对象,该对象使组件可以基于由以本机代码编写的 Integration Services 组件返回的 hresult,引发错误、警告或其他信息事件。

EventInfos

获取 IDTSEventInfos100 对象的 PipelineComponent 集合。

LogEntryInfos

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

ReferenceTracker

获取与组件关联的 IDTSObjectReferenceTracker100

VariableDispenser

获取数据流组件的 IDTSVariableDispenser100

方法

AcquireConnections(Object)

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

AddErrorOutput(String, Int32, Int32)

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

BufferTypeToDataRecordType(DataType)

基于 Integration Services 数据类型返回托管数据类型。

Cleanup()

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

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

从托管代码获取适当的 Integration Services  DataType

DataRecordTypeToBufferType(Type)

获取  DataType 与托管类型对应的 Integration Services。

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)

在运行时,当来自上游组件的 PipelineBuffer 可用于该组件时调用,使组件可以处理传入的行。

ProvideComponentProperties()

当首先将一个组件添加到数据流任务时调用,用于初始化组件的 ComponentMetaData

RegisterEvents()

当您正在开发一个自定义数据流组件时,您重写此方法以创建自定义事件。

RegisterLogEntries()

注册该组件将记录的事件。

ReinitializeMetaData()

修复在验证过程中确定的导致组件在设计时返回 VS_NEEDSNEWMETADATA 的任何错误。

ReleaseConnections()

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

RemoveAllInputsOutputsAndCustomProperties()

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

SetComponentProperty(String, Object)

向组件的 IDTSCustomProperty100 赋值。

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

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

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

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

SetInputColumnProperty(Int32, Int32, String, Object)

IDTSCustomProperty100 对象的 IDTSInputColumn100 赋值。

SetInputProperty(Int32, String, Object)

IDTSCustomProperty100 对象的 IDTSInput100 赋值。

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

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

SetOutputColumnProperty(Int32, Int32, String, Object)

设置 IDTSCustomProperty100 对象的 IDTSOutputColumn100 的值。

SetOutputProperty(Int32, String, Object)

设置 IDTSCustomProperty100 对象的 IDTSOutput100 的值。

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

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

Validate()

验证该组件已正确配置。

适用于