Partilhar via


PipelineComponent Classe

Definição

Define a classe base usada durante o desenvolvimento de componentes de fluxo de dados gerenciados.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Herança
PipelineComponent
Derivado

Exemplos

O exemplo de código a seguir mostra um componente que implementa e DtsPipelineComponentAttribute herda da PipelineComponent classe.

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  

Comentários

Herda dessa classe para criar seu próprio componente de fluxo de dados. Essa classe implementa as interfaces de componente necessárias IDTSDesigntimeComponent100 e IDTSRuntimeComponent100. Você substitui a implementação de classe base desses métodos para fornecer a funcionalidade do componente. PipelineComponent fornece métodos auxiliares além dos métodos das interfaces de componente para ajudá-lo no desenvolvimento do componente.

Construtores

PipelineComponent()

Inicializa uma nova instância da classe PipelineComponent.

Campos

s_STOCKPROPNAME_COMPFLAGS

Contém o nome da propriedade ComparisonFlags de componentes de fluxo de dados.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Contém o nome da propriedade DeleteOutputOnPathDetached de componentes de fluxo de dados.

s_STOCKPROPNAME_EXCLGROUP

Contém o nome da propriedade ExclusionGroup de componentes de fluxo de dados.

s_STOCKPROPNAME_HASSIDEEFFECTS

Contém o nome da propriedade HasSideEffects de componentes de fluxo de dados.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Contém o nome da propriedade IsDistributable de componentes de fluxo de dados.

s_STOCKPROPNAME_ISERROROUT

Contém o nome da propriedade IsErrorOut de componentes de fluxo de dados.

s_STOCKPROPNAME_ISSORTED

Contém o nome da propriedade IsSorted dos componentes de fluxo de dados.

s_STOCKPROPNAME_REFMETADATAID

Contém o nome da propriedade ReferenceMetaDataID de componentes de fluxo de dados.

s_STOCKPROPNAME_SORTKEYPOS

Contém o nome da propriedade SortKeyPosition de componentes de fluxo de dados.

s_STOCKPROPNAME_SYNCINPUTID

Contém o nome da propriedade SynchronousInputID de componentes de fluxo de dados.

Propriedades

BufferManager

Obtém o IDTSBufferManager100 de um componente de pipeline.

ComponentMetaData

Obtém o IDTSComponentMetaData100 para um componente.

ErrorSupport

Retorna um ErrorSupport objeto que permite que o componente gere erros, avisos ou outros eventos de informações com base em HRESULTs retornados por componentes do Integration Services escritos em código nativo.

EventInfos

Obtém a coleção IDTSEventInfos100 do objeto PipelineComponent.

LogEntryInfos

Obtém uma coleção IDTSLogEntryInfos100 de eventos de log que o componente registrou.

ReferenceTracker

Obtém o IDTSObjectReferenceTracker100 associado ao componente.

VariableDispenser

Obtém o IDTSVariableDispenser100 do componente de fluxo de dados.

Métodos

AcquireConnections(Object)

Estabelece uma conexão com um gerenciador de conexões.

AddErrorOutput(String, Int32, Int32)

Adiciona um IDTSOutput100 objeto e o marca como uma saída de erro definindo a IsErrorOut propriedade como true.

BufferTypeToDataRecordType(DataType)

Retorna um tipo de dados gerenciado com base em um tipo de dados do Integration Services.

Cleanup()

Libera recursos e conclui a execução do componente.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Obtém os Serviços de Integração apropriados DataType do código gerenciado.

DataRecordTypeToBufferType(Type)

Obtém os Serviços DataType de Integração que correspondem a um tipo gerenciado.

DeleteExternalMetadataColumn(Int32, Int32)

Exclui a coluna de metadados externa no índice especificado da coleção de colunas de metadados externas.

DeleteInput(Int32)

Exclui um objeto IDTSInput100 da coleção IDTSInputCollection100.

DeleteOutput(Int32)

Exclui um objeto IDTSOutput100 da coleção IDTSOutputCollection100.

DeleteOutputColumn(Int32, Int32)

Exclui um objeto IDTSOutputColumn100 da coleção IDTSOutputColumnCollection100.

DescribeRedirectedErrorCode(Int32)

Fornece informações de código de erro sobre uma linha PipelineBuffer adicionada a um buffer de saída.

GetDependentInputs(Int32)

Retorna uma coleção das IDs das entradas que estão aguardando mais dados e, dessa forma, estão bloqueando a entrada especificada.

GetErrorOutputInfo(Int32, Int32)

Retorna o índice e a ID da saída de erro do componente.

idxOfBufferType(DataType)

Especifica o tipo do índice de buffer.

idxOfDataRecordType(Type)

Especifica o tipo de índice de registro de dados.

Initialize()

Quando substituído em uma classe derivada, inicializa uma nova instância de um componente de fluxo de dados personalizado.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Insere uma nova coluna de metadados externa na coleção de colunas de metadados externas no índice especificado.

InsertInput(DTSInsertPlacement, Int32)

Adiciona um objeto IDTSInput100 ao IDTSInputCollection100.

InsertOutput(DTSInsertPlacement, Int32)

Adiciona um novo objeto IDTSOutput100.

InsertOutputColumnAt(Int32, Int32, String, String)

Cria um novo objeto IDTSOutputColumn100 e o insere no IDTSOutputColumnCollection100.

IsCompatibleNumericTypes(DataType, DataType)

Determina se dois tipos de dados numéricos são compatíveis para dar suporte a uma conversão de um tipo em outro.

IsInputReady(Int32[], Boolean[])

Determina quais das entradas anexadas a um componente estão aguardando mais dados, e quais têm dados suficientes para processar e estão bloqueadas.

MapInputColumn(Int32, Int32, Int32)

Estabelece uma relação entre uma coluna de entrada e uma coluna de metadados externa correspondente.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Estabelece uma relação entre uma coluna de saída e uma coluna de metadados externa correspondente.

OnDeletingInputColumn(Int32, Int32)

Exclui um objeto IDTSInputColumn100 do IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

Chamado quando um objeto IDTSInput100 está conectado ao componente por meio da interface IDTSPath100.

OnInputPathDetached(Int32)

Chamado quando um objeto IDTSInput100 está desconectado do componente por meio da interface IDTSPath100.

OnOutputPathAttached(Int32)

Chamado quando um objeto IDTSOutput100 do componente está anexado a um componente downstream.

PerformDowngrade(Int32, DTSTargetServerVersion)

Por padrão, o PerformDowngrade não deve lançar ComponentDowngradeFailedException porque o runtime só pode determinar se esse método deve ser chamado por targetServerVersion; ele não pode verificar a versão do componente porque não sabe se a versão do componente foi alterada entre duas versões do SSIS, enquanto o método PerformUpgrade verificará se a versão do componente no pacote xml é menor que a versão atual do componente antes de ser chamada.

PerformUpgrade(Int32)

Atualiza os metadados do componente para a versão do componente que está instalada no computador local.

PostExecute()

Chamado ao fim da execução do componentes, mas antes de Cleanup().

PreExecute()

Chamado depois de PrepareForExecute() e antes de PrimeOutput(Int32, Int32[], PipelineBuffer[]) e ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Chamado antes de PreExecute().

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

Chamado em tempo de execução para os componentes de origem e os componentes de transformação com saídas assíncronas para permitir que esses componentes adicionem linhas aos buffers de saída.

ProcessInput(Int32, PipelineBuffer)

Chamado em tempo de execução quando um PipelineBuffer de um componente upstream está disponível para o componente, para permitir que o componente processe as linhas de entrada.

ProvideComponentProperties()

Chamado quando um componente é adicionado pela primeira vez à tarefa de fluxo de dados, para inicializar o ComponentMetaData do componente.

RegisterEvents()

Quando você estiver desenvolvendo um componente de fluxo de dados personalizado, substituirá este método para criar eventos personalizados.

RegisterLogEntries()

Registra os eventos que o componente registrará em log.

ReinitializeMetaData()

Repara qualquer erro identificado durante a validação que faz com que o componente retorne VS_NEEDSNEWMETADATA em tempo de criação.

ReleaseConnections()

Libera as conexões estabelecidas durante AcquireConnections(Object). Chamado em tempo de design e em tempo de execução.

RemoveAllInputsOutputsAndCustomProperties()

Exclui cada objeto IDTSInput100 e IDTSOutput100 do componente.

SetComponentProperty(String, Object)

Atribui um valor a um IDTSCustomProperty100 do componente.

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

Define as propriedades do tipo de dados da coluna de metadados externa.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Define uma propriedade individual de uma coluna de metadados externa.

SetInputColumnProperty(Int32, Int32, String, Object)

Atribui um valor ao IDTSCustomProperty100 de um objeto IDTSInputColumn100.

SetInputProperty(Int32, String, Object)

Atribui um valor ao IDTSCustomProperty100 de um objeto IDTSInput100.

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

Define as propriedades do tipo de dados de um objeto IDTSOutputColumn100.

SetOutputColumnProperty(Int32, Int32, String, Object)

Obtém o valor de um IDTSCustomProperty100 para um objeto IDTSOutputColumn100.

SetOutputProperty(Int32, String, Object)

Obtém o valor de um IDTSCustomProperty100 em um objeto IDTSOutput100.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Cria um objeto IDTSInputColumn100 no IDTSInputColumnCollection100 do componente e define a propriedade UsageType da coluna.

Validate()

Verifica se o componente está configurado corretamente.

Aplica-se a