PipelineComponent.ProcessInput(Int32, PipelineBuffer) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 oggetto completo PipelineBuffer che contiene righe dal componente upstream. Le colonne contenute nel buffer includono tali colonne definite nel IDTSInputColumnCollection100 componente. Se il componente ha output sincroni, il buffer includerà anche le colonne aggiunte alla raccolta di colonne di output dal componente e tutte le colonne nell'insieme di colonne di output dei componenti upstream dal componente. Le colonne si trovano in una riga del buffer usando il FindColumnByLineageID metodo di BufferManager.
ProcessInput verrà chiamato ripetutamente come l'attività flusso di dati riceve buffer completi dai componenti upstream. Il ProcessInput metodo viene chiamato finché la EndOfRowset proprietà non è true
.
Il modello corretto per l'uso del NextRow metodo e la EndOfRowset proprietà è:
while (buffer.NextRow())
{
// Do something with each row.
}
if (buffer.EndOfRowset)
{
// Optionally, do something after all rows have been processed.
}