Partilhar via


PipelineComponent.ProcessInput(Int32, PipelineBuffer) Método

Definição

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.

public:
 virtual void ProcessInput(int inputID, Microsoft::SqlServer::Dts::Pipeline::PipelineBuffer ^ buffer);
public virtual void ProcessInput (int inputID, Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer buffer);
abstract member ProcessInput : int * Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer -> unit
override this.ProcessInput : int * Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer -> unit
Public Overridable Sub ProcessInput (inputID As Integer, buffer As PipelineBuffer)

Parâmetros

inputID
Int32

A ID da entrada do componente.

buffer
PipelineBuffer

O objeto PipelineBuffer.

Exemplos

public override void ProcessInput( int inputID, PipelineBuffer buffer )  
{  
    while( buffer.NextRow() )  
    {  
        // TODO: Read or write data to the columns in the buffer.  
    }  
}  
Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
 While buffer.NextRow   
  ' TODO: Read or write data to the columns in the buffer.  
 End While   
End Sub  

Comentários

O ProcessInput método é chamado para fornecer ao componente um objeto completo PipelineBuffer que contém linhas do componente upstream. As colunas contidas no buffer incluem as colunas definidas no IDTSInputColumnCollection100 componente. Se o componente tiver saídas síncronas, o buffer também incluirá as colunas adicionadas à coleção de colunas de saída pelo componente e todas as colunas na coleção de colunas de saída dos componentes upstream do componente. As colunas estão localizadas em uma linha de buffer usando o FindColumnByLineageID método do BufferManager.

ProcessInput será chamada repetidamente à medida que a tarefa de fluxo de dados receber buffers completos dos componentes upstream. O ProcessInput método é chamado até que a EndOfRowset propriedade seja true.

O padrão correto para usar o NextRow método e a EndOfRowset propriedade é:

while (buffer.NextRow())

{

// Do something with each row.

}

if (buffer.EndOfRowset)

{

// Optionally, do something after all rows have been processed.

}

Aplica-se a