Share via


PipelineComponent Class

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

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Dts.Pipeline.PipelineComponent
    Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost

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

Syntax

'Declaration
Public Class PipelineComponent
'Usage
Dim instance As PipelineComponent
public class PipelineComponent
public ref class PipelineComponent
type PipelineComponent =  class end
public class PipelineComponent

The PipelineComponent type exposes the following members.

Constructors

  Name Description
Public method PipelineComponent Initializes a new instance of the PipelineComponent class.

Top

Properties

  Name Description
Public property BufferManager Gets the IDTSBufferManager100 of the pipeline component.
Public property ComponentMetaData Gets the IDTSComponentMetaData100 for a component.
Public property ErrorSupport 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.
Public property EventInfos Gets the IDTSEventInfos100 collection of the PipelineComponent object.
Public property LogEntryInfos Gets an IDTSLogEntryInfos100 collection of logging events that the component has registered.
Public property ReferenceTracker Gets the IDTSObjectReferenceTracker100 associated with the component.
Public property VariableDispenser Gets the IDTSVariableDispenser100 of the data flow component.

Top

Methods

  Name Description
Public method AcquireConnections Establishes a connection to a connection manager.
Public method AddErrorOutput Adds an IDTSOutput100 object and marks it as an error output by setting the IsErrorOut property to true.
Protected methodStatic member BufferTypeToDataRecordType Returns a managed data type based on an Integration Services data type.
Public method Cleanup Frees resources and finishes the execution of the component.
Protected methodStatic member ConvertBufferDataTypeToFitManaged Gets the appropriate Integration Services DataType from managed code.
Protected methodStatic member DataRecordTypeToBufferType Gets the Integration Services DataType that corresponds to a managed type.
Public method DeleteExternalMetadataColumn Deletes the external metadata column at the specified index from the collection of external metadata columns.
Public method DeleteInput Deletes an IDTSInput100 object from the IDTSInputCollection100 collection.
Public method DeleteOutput Deletes an IDTSOutput100 object from the IDTSOutputCollection100 collection.
Public method DeleteOutputColumn Deletes an IDTSOutputColumn100 object from the IDTSOutputColumnCollection100 collection.
Public method DescribeRedirectedErrorCode Provides error code information for a PipelineBuffer row added to an output buffer.
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetDependentInputs Returns a collection of the input IDs of inputs that are waiting for more data, and thus are blocking the specified input.
Public method GetErrorOutputInfo Returns the index and ID of the error output of the component.
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected methodStatic member idxOfBufferType Infrastructure. Specifies the type of the buffer index.
Protected methodStatic member idxOfDataRecordType Infrastructure. Specifies the type of the data record index.
Public method Initialize When overridden in a derived class, initializes a new instance of a custom data flow component.
Public method InsertExternalMetadataColumnAt Inserts a new external metadata column into the collection of external metadata columns at the specified index.
Public method InsertInput Adds an IDTSInput100 object to the IDTSInputCollection100.
Public method InsertOutput Adds a new IDTSOutput100 object
Public method InsertOutputColumnAt Creates a new IDTSOutputColumn100 object and inserts it into the IDTSOutputColumnCollection100.
Protected methodStatic member IsCompatibleNumericTypes Determines whether two numeric data types are compatible to support a conversion from one type to the other.
Public method IsInputReady Determines which of the inputs attached to a component are waiting for more data, and which have enough data to process and are blocked.
Public method MapInputColumn Establishes a relationship between an input column and a corresponding external metadata column.
Public method MapOutputColumn Establishes a relationship between an output column and a corresponding external metadata column.
Protected method MemberwiseClone (Inherited from Object.)
Public method OnDeletingInputColumn Deletes an IDTSInputColumn100 object from the IDTSInputColumnCollection100.
Public method OnInputPathAttached Called when an IDTSInput100 object is connected to the component through the IDTSPath100 interface.
Public method OnInputPathDetached Called when an IDTSInput100 object is disconnected from the component through the IDTSPath100 interface.
Public method OnOutputPathAttached Called when an IDTSOutput100 object of the component is attached to a downstream component.
Public method PerformUpgrade Upgrades the component metadata to the version of the component installed on the local computer.
Public method PostExecute Called at the end of component execution, but before Cleanup.
Public method PreExecute Called after PrepareForExecute, and before PrimeOutput and ProcessInput.
Public method PrepareForExecute Called before PreExecute.
Public method PrimeOutput Called at run time for source components and transformation components with asynchronous outputs to let these components add rows to the output buffers.
Public method ProcessInput Called at run time when a PipelineBuffer from an upstream component is available to the component to let the component process the incoming rows.
Public method ProvideComponentProperties Called when a component is first added to the data flow task, to initialize the ComponentMetaData of the component.
Public method RegisterEvents When you are developing a custom data flow component, you override this method to create custom events.
Public method RegisterLogEntries Registers the events that the component will log.
Public method ReinitializeMetaData Repairs any errors identified during validation that cause the component to return VS_NEEDSNEWMETADATA at design time.
Public method ReleaseConnections Frees the connections established during AcquireConnections. Called at design time and run time.
Public method RemoveAllInputsOutputsAndCustomProperties Deletes each IDTSInput100 and IDTSOutput100 object from the component.
Public method SetComponentProperty Assigns a value to a IDTSCustomProperty100 of the component.
Public method SetExternalMetadataColumnDataTypeProperties Sets the data type properties of the specified external metadata column.
Public method SetExternalMetadataColumnProperty Sets an individual property of an external metadata column.
Public method SetInputColumnProperty Assigns a value to the IDTSCustomProperty100 of an IDTSInputColumn100 object.
Public method SetInputProperty Assigns a value to the IDTSCustomProperty100 of an IDTSInput100 object.
Public method SetOutputColumnDataTypeProperties Sets the data type properties of an IDTSOutputColumn100 object.
Public method SetOutputColumnProperty Sets the value of an IDTSCustomProperty100 for an IDTSOutputColumn100 object.
Public method SetOutputProperty Sets the value of an IDTSCustomProperty100 on an IDTSOutput100 object.
Public method SetUsageType Creates an IDTSInputColumn100 object in the IDTSInputColumnCollection100 of the component and sets the UsageType property of the column.
Public method ToString (Inherited from Object.)
Public method Validate Verifies that the component is correctly configured.

Top

Fields

  Name Description
Public fieldStatic member s_STOCKPROPNAME_COMPFLAGS Contains the name of the ComparisonFlags property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED Contains the name of the DeleteOutputOnPathDetached property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_EXCLGROUP Contains the name of the ExclusionGroup property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_HASSIDEEFFECTS Contains the name of the HasSideEffects property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_ISDISTRIBUTABLE Contains the name of the IsDistributable property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_ISERROROUT Contains the name of the IsErrorOut property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_ISSORTED Contains the name of the IsSorted property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_REFMETADATAID Contains the name of the ReferenceMetaDataID property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_SORTKEYPOS Contains the name of the SortKeyPosition property of data flow components.
Public fieldStatic member s_STOCKPROPNAME_SYNCINPUTID Contains the name of the SynchronousInputID property of data flow components.

Top

Remarks

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.

Examples

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
{
    [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

Thread Safety

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

See Also

Reference

Microsoft.SqlServer.Dts.Pipeline Namespace