PipelineComponent.ProcessInput(Int32, PipelineBuffer) Metodo

Definizione

Chiamato in fase di esecuzione quando un oggetto PipelineBuffer di un componente a monte è disponibile per il componente, per consentirgli di elaborare le righe in ingresso.

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)

Parametri

inputID
Int32

ID dell'input del componente.

buffer
PipelineBuffer

Oggetto PipelineBuffer.

Esempio

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  

Commenti

Il ProcessInput metodo viene chiamato per fornire al componente un PipelineBuffer oggetto completo che contiene righe del componente a Monte. Le colonne contenute nel buffer includono le colonne definite nell'oggetto IDTSInputColumnCollection100 del componente. Se il componente dispone di output sincroni, il buffer includerà anche le colonne aggiunte alla raccolta di colonne di output dal componente e tutte le colonne della raccolta di colonne di output dei componenti a Monte del componente. Le colonne si trovano in una riga del buffer usando il FindColumnByLineageID metodo di BufferManager .

ProcessInput verrà chiamato ripetutamente quando l'attività flusso di dati riceve i buffer completi dai componenti a Monte. Il ProcessInput metodo viene chiamato fino a quando la EndOfRowset proprietà non è true .

Il modello corretto per l'utilizzo del NextRow metodo e della EndOfRowset proprietà è:

while (buffer.NextRow())

{

// Do something with each row.

}

if (buffer.EndOfRowset)

{

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

}

Si applica a