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


Initializes a new instance of the PipelineComponent class.


Gets the IDTSBufferManager100 of the pipeline component.


Gets the IDTSComponentMetaData100 for a component.


Returns 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.


Gets the IDTSEventInfos100 collection of the PipelineComponent object.


Gets an IDTSLogEntryInfos100 collection of logging events that the component has registered.


Gets the IDTSObjectReferenceTracker100 associated with the component.


Gets the IDTSVariableDispenser100 of the data flow component.


Establishes a connection to a connection manager.

System_CAPS_pubmethodAddErrorOutput(String, Int32, Int32)

Adds an IDTSOutput100 object and marks it as an error output by setting the IsErrorOut property to true.


Returns a managed data type based on an Integration Services data type.


Frees resources and finishes the execution of the component.

System_CAPS_protmethodSystem_CAPS_staticConvertBufferDataTypeToFitManaged(DataType, Boolean)

Gets the appropriate Integration Services DataType from managed code.


Gets the Integration Services DataType that corresponds to a managed type.

System_CAPS_pubmethodDeleteExternalMetadataColumn(Int32, Int32)

Deletes the external metadata column at the specified index from the collection of external metadata columns.


Deletes an IDTSInput100 object from the IDTSInputCollection100 collection.


Deletes an IDTSOutput100 object from the IDTSOutputCollection100 collection.

System_CAPS_pubmethodDeleteOutputColumn(Int32, Int32)

Deletes an IDTSOutputColumn100 object from the IDTSOutputColumnCollection100 collection.


Provides error code information for a PipelineBuffer row added to an output buffer.


(Inherited from Object.)


(Inherited from Object.)


Returns a collection of the input IDs of inputs that are waiting for more data, and thus are blocking the specified input.

System_CAPS_pubmethodGetErrorOutputInfo(Int32, Int32)

Returns the index and ID of the error output of the component.


(Inherited from Object.)


(Inherited from Object.)


This API supports the product infrastructure and is not intended to be used directly from your code. Specifies the type of the buffer index.


This API supports the product infrastructure and is not intended to be used directly from your code. Specifies the type of the data record index.


When overridden in a derived class, initializes a new instance of a custom data flow component.

System_CAPS_pubmethodInsertExternalMetadataColumnAt(Int32, Int32, String, String)

Inserts a new external metadata column into the collection of external metadata columns at the specified index.

System_CAPS_pubmethodInsertInput(DTSInsertPlacement, Int32)

Adds an IDTSInput100 object to the IDTSInputCollection100.

System_CAPS_pubmethodInsertOutput(DTSInsertPlacement, Int32)

Adds a new IDTSOutput100 object

System_CAPS_pubmethodInsertOutputColumnAt(Int32, Int32, String, String)

Creates a new IDTSOutputColumn100 object and inserts it into the IDTSOutputColumnCollection100.

System_CAPS_protmethodSystem_CAPS_staticIsCompatibleNumericTypes(DataType, DataType)

Determines whether two numeric data types are compatible to support a conversion from one type to the other.

System_CAPS_pubmethodIsInputReady(Int32[], Boolean[])

Determines which of the inputs attached to a component are waiting for more data, and which have enough data to process and are blocked.

System_CAPS_pubmethodMapInputColumn(Int32, Int32, Int32)

Establishes a relationship between an input column and a corresponding external metadata column.

System_CAPS_pubmethodMapOutputColumn(Int32, Int32, Int32, Boolean)

Establishes a relationship between an output column and a corresponding external metadata column.


(Inherited from Object.)

System_CAPS_pubmethodOnDeletingInputColumn(Int32, Int32)

Called when an IDTSInput100 object is connected to the component through the IDTSPath100 interface.


Called when an IDTSInput100 object is disconnected from the component through the IDTSPath100 interface.


Called when an IDTSOutput100 object of the component is attached to a downstream component.

System_CAPS_pubmethodPerformDowngrade(Int32, DTSTargetServerVersion)


Upgrades the component metadata to the version of the component installed on the local computer.


Called at the end of component execution, but before Cleanup.


Called after PrepareForExecute, and before PrimeOutput and ProcessInput.


Called before PreExecute.

System_CAPS_pubmethodPrimeOutput(Int32, Int32[], PipelineBuffer[])

Called at run time for source components and transformation components with asynchronous outputs to let these components add rows to the output buffers.

System_CAPS_pubmethodProcessInput(Int32, PipelineBuffer)

Called at run time when a PipelineBuffer from an upstream component is available to the component to let the component process the incoming rows.


Called when a component is first added to the data flow task, to initialize the ComponentMetaData of the component.


When you are developing a custom data flow component, you override this method to create custom events.


Registers the events that the component will log.


Repairs any errors identified during validation that cause the component to return VS_NEEDSNEWMETADATA at design time.


Frees the connections established during AcquireConnections. Called at design time and run time.


Deletes each IDTSInput100 and IDTSOutput100 object from the component.

System_CAPS_pubmethodSetComponentProperty(String, Object)

Assigns a value to a IDTSCustomProperty100 of the component.

System_CAPS_pubmethodSetExternalMetadataColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Sets the data type properties of the specified external metadata column.

System_CAPS_pubmethodSetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Sets an individual property of an external metadata column.

System_CAPS_pubmethodSetInputColumnProperty(Int32, Int32, String, Object)

Assigns a value to the IDTSCustomProperty100 of an IDTSInputColumn100 object.

System_CAPS_pubmethodSetInputProperty(Int32, String, Object)

Assigns a value to the IDTSCustomProperty100 of an IDTSInput100 object.

System_CAPS_pubmethodSetOutputColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Sets the data type properties of an IDTSOutputColumn100 object.

System_CAPS_pubmethodSetOutputColumnProperty(Int32, Int32, String, Object)

Sets the value of an IDTSCustomProperty100 for an IDTSOutputColumn100 object.

System_CAPS_pubmethodSetOutputProperty(Int32, String, Object)

Sets the value of an IDTSCustomProperty100 on an IDTSOutput100 object.

System_CAPS_pubmethodSetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Creates an IDTSInputColumn100 object in the IDTSInputColumnCollection100 of the component and sets the UsageType property of the column.


(Inherited from Object.)


Verifies that the component is correctly configured.


Contains the name of the ComparisonFlags property of data flow components.


Contains the name of the DeleteOutputOnPathDetached property of data flow components.


Contains the name of the ExclusionGroup property of data flow components.


Contains the name of the HasSideEffects property of data flow components.


Contains the name of the IsDistributable property of data flow components.


Contains the name of the IsErrorOut property of data flow components.


Contains the name of the IsSorted property of data flow components.


Contains the name of the ReferenceMetaDataID property of data flow components.


Contains the name of the SortKeyPosition property of data flow components.


Contains 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.

Return to top