PipelineComponent Class

Defines the base class that is used when developing managed data flow components.


Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.PipelineHost (in Microsoft.SqlServer.PipelineHost.dll)

public class PipelineComponent

The PipelineComponent type exposes the following members.

Public methodPipelineComponentInitializes a new instance of the PipelineComponent class.

Public propertyBufferManagerGets the IDTSBufferManager100 of the pipeline component.
Public propertyComponentMetaDataGets the IDTSComponentMetaData100 for a component.
Public propertyErrorSupportReturns an ErrorSupport object that lets the component raise errors, warnings, or other information events based on HRESULTs returned by Integration Services components written in native code.
Public propertyEventInfosGets the IDTSEventInfos100 collection of the PipelineComponent object.
Public propertyLogEntryInfosGets an IDTSLogEntryInfos100 collection of logging events that the component has registered.
Public propertyReferenceTrackerGets the IDTSObjectReferenceTracker100 associated with the component.
Public propertyVariableDispenserGets the IDTSVariableDispenser100 of the data flow component.

Public methodAcquireConnectionsEstablishes a connection to a connection manager.
Public methodAddErrorOutputAdds an IDTSOutput100 object and marks it as an error output by setting the IsErrorOut property to true.
Protected methodStatic memberBufferTypeToDataRecordTypeReturns a managed data type based on an Integration Services data type.
Public methodCleanupFrees resources and finishes the execution of the component.
Protected methodStatic memberConvertBufferDataTypeToFitManagedGets the appropriate Integration Services DataType from managed code.
Protected methodStatic memberDataRecordTypeToBufferTypeGets the Integration Services DataType that corresponds to a managed type.
Public methodDeleteExternalMetadataColumnDeletes the external metadata column at the specified index from the collection of external metadata columns.
Public methodDeleteInputDeletes an IDTSInput100 object from the IDTSInputCollection100 collection.
Public methodDeleteOutputDeletes an IDTSOutput100 object from the IDTSOutputCollection100 collection.
Public methodDeleteOutputColumnDeletes an IDTSOutputColumn100 object from the IDTSOutputColumnCollection100 collection.
Public methodDescribeRedirectedErrorCodeProvides error code information for a PipelineBuffer row added to an output buffer.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetErrorOutputInfoReturns the index and ID of the error output of the component.
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodStatic memberidxOfBufferTypeInfrastructure.
Protected methodStatic memberidxOfDataRecordTypeInfrastructure.
Public methodInitializeWhen overridden in a derived class, initializes a new instance of a custom data flow component.
Public methodInsertExternalMetadataColumnAtInserts a new external metadata column into the collection of external metadata columns at the specified index.
Public methodInsertInputAdds an IDTSInput100 object to the IDTSInputCollection100.
Public methodInsertOutputAdds a new IDTSOutput100 object
Public methodInsertOutputColumnAtCreates a new IDTSOutputColumn100 object and inserts it into the IDTSOutputColumnCollection100.
Protected methodStatic memberIsCompatibleNumericTypesDetermines whether two numeric data types are compatible to support a conversion from one type to the other.
Public methodMapInputColumnEstablishes a relationship between an input column and a corresponding external metadata column.
Public methodMapOutputColumnEstablishes a relationship between an output column and a corresponding external metadata column.
Protected methodMemberwiseClone (Inherited from Object.)
Public methodOnDeletingInputColumnDeletes an IDTSInputColumn100 object from the IDTSInputColumnCollection100.
Public methodOnInputPathAttachedCalled when an IDTSInput100 object is connected to the component through the IDTSPath100 interface.
Public methodOnInputPathDetachedCalled when an IDTSInput100 object is disconnected from the component through the IDTSPath100 interface.
Public methodOnOutputPathAttachedCalled when an IDTSOutput100 object of the component is attached to a downstream component.
Public methodPerformUpgradeUpgrades the component metadata to the version of the component installed on the local computer.
Public methodPostExecuteCalled at the end of component execution, but before Cleanup.
Public methodPreExecuteCalled after PrepareForExecute, and before PrimeOutput and ProcessInput.
Public methodPrepareForExecuteCalled before PreExecute.
Public methodPrimeOutputCalled at run time for source components and transformation components with asynchronous outputs to let these components add rows to the output buffers.
Public methodProcessInputCalled at run time when a PipelineBuffer from an upstream component is available to the component to let the component process the incoming rows.
Public methodProvideComponentPropertiesCalled when a component is first added to the data flow task, to initialize the ComponentMetaData of the component.
Public methodRegisterEventsWhen you are developing a custom data flow component, you override this method to create custom events.
Public methodRegisterLogEntriesRegisters the events that the component will log.
Public methodReinitializeMetaDataRepairs any errors identified during validation that cause the component to return VS_NEEDSNEWMETADATA at design time.
Public methodReleaseConnectionsFrees the connections established during AcquireConnections. Called at design time and run time.
Public methodRemoveAllInputsOutputsAndCustomPropertiesDeletes each IDTSInput100 and IDTSOutput100 object from the component.
Public methodSetComponentPropertyAssigns a value to a IDTSCustomProperty100 of the component.
Public methodSetExternalMetadataColumnDataTypePropertiesSets the data type properties of the specified external metadata column.
Public methodSetExternalMetadataColumnPropertySets an individual property of an external metadata column.
Public methodSetInputColumnPropertyAssigns a value to the IDTSCustomProperty100 of an IDTSInputColumn100 object.
Public methodSetInputPropertyAssigns a value to the IDTSCustomProperty100 of an IDTSInput100 object.
Public methodSetOutputColumnDataTypePropertiesSets the data type properties of an IDTSOutputColumn100 object.
Public methodSetOutputColumnPropertySets the value of an IDTSCustomProperty100 for an IDTSOutputColumn100 object.
Public methodSetOutputPropertySets the value of an IDTSCustomProperty100 on an IDTSOutput100 object.
Public methodSetUsageTypeCreates an IDTSInputColumn100 object in the IDTSInputColumnCollection100 of the component and sets the UsageType property of the column.
Public methodToString (Inherited from Object.)
Public methodValidateVerifies that the component is correctly configured.

Public fieldStatic members_STOCKPROPNAME_COMPFLAGSContains the name of the ComparisonFlags property of data flow components.
Public fieldStatic members_STOCKPROPNAME_DELOUTPUTONPATHDETACHEDContains the name of the DeleteOutputOnPathDetached property of data flow components.
Public fieldStatic members_STOCKPROPNAME_EXCLGROUPContains the name of the ExclusionGroup property of data flow components.
Public fieldStatic members_STOCKPROPNAME_HASSIDEEFFECTSContains the name of the HasSideEffects property of data flow components.
Public fieldStatic members_STOCKPROPNAME_ISDISTRIBUTABLEContains the name of the IsDistributable property of data flow components.
Public fieldStatic members_STOCKPROPNAME_ISERROROUTContains the name of the IsErrorOut property of data flow components.
Public fieldStatic members_STOCKPROPNAME_ISSORTEDContains the name of the IsSorted property of data flow components.
Public fieldStatic members_STOCKPROPNAME_REFMETADATAIDContains the name of the ReferenceMetaDataID property of data flow components.
Public fieldStatic members_STOCKPROPNAME_SORTKEYPOSContains the name of the SortKeyPosition property of data flow components.
Public fieldStatic members_STOCKPROPNAME_SYNCINPUTIDContains the name of the SynchronousInputID property of data flow components.

Inherit from this class to create your own data flow component. This class implements the required component interfaces, IDTSDesigntimeComponent100 and IDTSRuntimeComponent100. You override the base class implementation of these methods to provide the functionality of your component. PipelineComponent provides helper methods in addition to the methods of the component interfaces to help you in developing your component.

The following code example shows a component that implements the DtsPipelineComponentAttribute and inherits from the PipelineComponent class.

using System;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
namespace Microsoft.Samples.SqlServer.Dts
    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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions