Compartir a través de


PipelineComponent Clase

Definición

Define la clase base que se utiliza para desarrollar componentes de flujo de datos administrados.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Herencia
PipelineComponent
Derivado

Ejemplos

En el ejemplo de código siguiente se muestra un componente que implementa y DtsPipelineComponentAttribute hereda de la PipelineComponent clase .

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  

Comentarios

Hereda de esta clase para crear su propio componente de flujo de datos. Esta clase implementa las interfaces IDTSDesigntimeComponent100 de componente necesarias y IDTSRuntimeComponent100. Invalida la implementación de clase base de estos métodos para proporcionar la funcionalidad del componente. PipelineComponent proporciona métodos auxiliares además de los métodos de las interfaces de componente para ayudarle a desarrollar el componente.

Constructores

PipelineComponent()

Inicializa una nueva instancia de la clase PipelineComponent.

Campos

s_STOCKPROPNAME_COMPFLAGS

Contiene el nombre de la propiedad ComparisonFlags de los componentes de flujo de datos.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Contiene el nombre de la propiedad DeleteOutputOnPathDetached de componentes de flujo de datos.

s_STOCKPROPNAME_EXCLGROUP

Contiene el nombre de la propiedad ExclusionGroup de componentes de flujo de datos.

s_STOCKPROPNAME_HASSIDEEFFECTS

Contiene el nombre de la propiedad HasSideEffects de los componentes de flujo de datos.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Contiene el nombre de la propiedad IsDistributable de los componentes de flujo de datos.

s_STOCKPROPNAME_ISERROROUT

Contiene el nombre de la propiedad IsErrorOut de los componentes de flujo de datos.

s_STOCKPROPNAME_ISSORTED

Contiene el nombre de la propiedad IsSorted de los componentes de flujo de datos.

s_STOCKPROPNAME_REFMETADATAID

Contiene el nombre de la propiedad ReferenceMetaDataID de componentes de flujo de datos.

s_STOCKPROPNAME_SORTKEYPOS

Contiene el nombre de la propiedad SortKeyPosition de los componentes de flujo de datos.

s_STOCKPROPNAME_SYNCINPUTID

Contiene el nombre de la propiedad SynchronousInputID de componentes de flujo de datos.

Propiedades

BufferManager

Obtiene la interfaz IDTSBufferManager100 del componente de canalización.

ComponentMetaData

Obtiene la interfaz IDTSComponentMetaData100 para un componente.

ErrorSupport

Devuelve un ErrorSupport objeto que permite al componente generar errores, advertencias u otros eventos de información basados en HRESULTs devueltos por los componentes de Integration Services escritos en código nativo.

EventInfos

Obtiene la colección IDTSEventInfos100 del objeto PipelineComponent.

LogEntryInfos

Obtiene una colección IDTSLogEntryInfos100 de eventos de registro que el componente ha registrado.

ReferenceTracker

Obtiene el IDTSObjectReferenceTracker100 asociado al componente.

VariableDispenser

Obtiene la interfaz IDTSVariableDispenser100 del componente de flujo de datos.

Métodos

AcquireConnections(Object)

Establece una conexión a un administrador de conexiones.

AddErrorOutput(String, Int32, Int32)

Agrega un IDTSOutput100 objeto y lo marca como salida de error estableciendo la IsErrorOut propiedad en true.

BufferTypeToDataRecordType(DataType)

Devuelve un tipo de datos administrado basado en un tipo de datos de Integration Services.

Cleanup()

Libera los recursos y finaliza la ejecución del componente.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Obtiene los servicios de integración DataType adecuados del código administrado.

DataRecordTypeToBufferType(Type)

Obtiene integration Services DataType que corresponde a un tipo administrado.

DeleteExternalMetadataColumn(Int32, Int32)

Elimina la columna de metadatos externos para el índice especificado de la colección de columnas de metadatos externos.

DeleteInput(Int32)

Elimina un objeto IDTSInput100 de la colección IDTSInputCollection100.

DeleteOutput(Int32)

Elimina un objeto IDTSOutput100 de la colección IDTSOutputCollection100.

DeleteOutputColumn(Int32, Int32)

Elimina un objeto IDTSOutputColumn100 de la colección IDTSOutputColumnCollection100.

DescribeRedirectedErrorCode(Int32)

Proporciona información del código de error para una fila de PipelineBuffer agregada a un búfer de salida.

GetDependentInputs(Int32)

Devuelve una colección de los identificadores de entrada de las entradas que están esperando recibir más datos y, por tanto, están bloqueando la entrada especificada.

GetErrorOutputInfo(Int32, Int32)

Devuelve el índice y el identificador de la salida de error del componente.

idxOfBufferType(DataType)

Especifica el tipo del índice de búfer.

idxOfDataRecordType(Type)

Especifica el tipo del índice de registro de datos.

Initialize()

Cuando se invalida en una clase derivada, inicializa una nueva instancia de un componente de flujo de datos personalizado.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Inserta una nueva columna de metadatos externos en la colección de columnas de metadatos externos en el índice especificado.

InsertInput(DTSInsertPlacement, Int32)

Agrega un objeto IDTSInput100 a IDTSInputCollection100.

InsertOutput(DTSInsertPlacement, Int32)

Agrega un nuevo objeto IDTSOutput100

InsertOutputColumnAt(Int32, Int32, String, String)

Crea un nuevo objeto IDTSOutputColumn100 y lo inserta en IDTSOutputColumnCollection100.

IsCompatibleNumericTypes(DataType, DataType)

Determina si dos tipos de datos numéricos son compatibles para permitir una conversión de un tipo al otro.

IsInputReady(Int32[], Boolean[])

Determina cuáles de las entradas adjuntas a un componente están esperando recibir más datos y cuáles tienen suficientes datos para procesar y están bloqueadas.

MapInputColumn(Int32, Int32, Int32)

Establece una relación entre una columna de entrada y una columna de metadatos externos correspondiente.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Establece una relación entre una columna de salida y una columna de metadatos externos correspondiente.

OnDeletingInputColumn(Int32, Int32)

Elimina un objeto IDTSInputColumn100 de IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

Recibe una llamada cuando un objeto IDTSInput100 se conecta al componente a través de la interfaz IDTSPath100.

OnInputPathDetached(Int32)

Recibe una llamada cuando un objeto IDTSInput100 es desconectado del componente a través de la interfaz IDTSPath100.

OnOutputPathAttached(Int32)

Recibe una llamada cuando un objeto IDTSOutput100 del componente se adjunta a un componente de nivel inferior.

PerformDowngrade(Int32, DTSTargetServerVersion)

De forma predeterminada, PerformDowngrade no debe iniciar ComponentDowngradeFailedException porque el tiempo de ejecución solo puede determinar si se debe llamar a este método mediante targetServerVersion; no puede comprobar la versión del componente porque no sabe si la versión del componente se ha cambiado entre dos versiones de SSIS, mientras que el método PerformUpgrade comprobará si la versión del componente en el xml del paquete es menor que la versión del componente actual antes de llamarse.

PerformUpgrade(Int32)

Actualiza los metadatos del componente a la versión del componente instalado en el equipo local.

PostExecute()

Recibe una llamada al final de la ejecución del componente, pero antes de Cleanup().

PreExecute()

Recibe una llamada después de PrepareForExecute() y antes de PrimeOutput(Int32, Int32[], PipelineBuffer[]) y ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Recibe una llamada antes de PreExecute().

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

Recibe una llamada en tiempo de ejecución para componentes de origen y componentes de transformación con salidas asincrónicas para permitir a estos componentes agregar filas a los búferes de salida.

ProcessInput(Int32, PipelineBuffer)

Recibe una llamada en tiempo de ejecución cuando una clase PipelineBuffer de un componente de nivel superior se encuentra a disposición del componente para permitir a este procesar las filas entrantes.

ProvideComponentProperties()

Recibe una llamada al agregar un componente por primera vez a la tarea de flujo de datos, para inicializar la propiedad ComponentMetaData del componente.

RegisterEvents()

Al desarrollar un componente de flujo de datos personalizado, se reemplazará este método para crear eventos personalizados.

RegisterLogEntries()

Registra los eventos que el componente registrará.

ReinitializeMetaData()

Repara cualquier error identificado durante la validación que hace que el componente devuelva VS_NEEDSNEWMETADATA en tiempo de diseño.

ReleaseConnections()

Libera las conexiones establecidas durante AcquireConnections(Object). Recibe una llamada en tiempo de diseño y en tiempo de ejecución.

RemoveAllInputsOutputsAndCustomProperties()

Elimina cada objeto IDTSInput100 y IDTSOutput100 del componente.

SetComponentProperty(String, Object)

Asigna un valor a una IDTSCustomProperty100 del componente.

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

Establece las propiedades de tipo de datos de la columna de metadatos externos especificada.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Establece una propiedad individual de una columna de metadatos externos.

SetInputColumnProperty(Int32, Int32, String, Object)

Asigna un valor a la IDTSCustomProperty100 de un objeto IDTSInputColumn100.

SetInputProperty(Int32, String, Object)

Asigna un valor a la IDTSCustomProperty100 de un objeto IDTSInput100.

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

Establece las propiedades de tipo de datos de un objeto IDTSOutputColumn100.

SetOutputColumnProperty(Int32, Int32, String, Object)

Establece el valor de IDTSCustomProperty100 para un objeto IDTSOutputColumn100.

SetOutputProperty(Int32, String, Object)

Establece el valor de una propiedad IDTSCustomProperty100 en un objeto IDTSOutput100.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Crea un objeto IDTSInputColumn100 en IDTSInputColumnCollection100 del componente y establece la propiedad UsageType de la columna.

Validate()

Comprueba si el componente está configurado correctamente.

Se aplica a