Freigeben über


PipelineComponent.ProcessInput(Int32, PipelineBuffer) Methode

Definition

Wird zur Laufzeit aufgerufen, wenn PipelineBuffer aus einer Upstreamkomponente der Komponente für die Verarbeitung eingehender Zeilen zur Verfügung steht.

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)

Parameter

inputID
Int32

Die ID der Eingabe aus der Komponente.

buffer
PipelineBuffer

Das PipelineBuffer-Objekt.

Beispiele

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  

Hinweise

Die ProcessInput Methode wird aufgerufen, um die Komponente ein PipelineBuffer vollständiges Objekt bereitzustellen, das Zeilen aus der upstream-Komponente enthält. Die in Puffer enthaltenen Spalten umfassen diese Spalten, die in der IDTSInputColumnCollection100 Komponente definiert sind. Wenn die Komponente synchrone Ausgabe hat, enthält der Puffer auch die Spalten, die der Ausgabespaltensammlung durch die Komponente hinzugefügt wurden, und alle Spalten in der Ausgabespaltensammlung der Komponenten vor der Komponente. Spalten befinden sich in einer Pufferzeile mithilfe der FindColumnByLineageID Methode des BufferManager.

ProcessInput wird wiederholt aufgerufen, da der Datenflussvorgang vollständige Puffer aus den upstream-Komponenten empfängt. Die ProcessInput Methode wird aufgerufen, bis die EndOfRowset Eigenschaft lautet true.

Das richtige Muster für die Verwendung der NextRow Methode und die EndOfRowset Eigenschaft lautet:

while (buffer.NextRow())

{

// Für jede Zeile eine Aktion ausführen

}

if (buffer.EndOfRowset)

{

// Optional eine Aktion ausführen, nachdem alle Zeilen verarbeitet wurden

}

Gilt für: