PipelineComponent.ProcessInput(Int32, PipelineBuffer) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
}