PipelineComponent.ProcessInput(Int32, PipelineBuffer) Metodo

Definizione

Chiamato a tempo di esecuzione quando un PipelineBuffer componente a monte è disponibile per il componente per permettere al componente di processare 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

L'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 del componente a monte. Le colonne contenute nel buffer includono quelle definite nel IDTSInputColumnCollection100 del componente. Se il componente ha uscite sincrone, il buffer includerà anche le colonne aggiunte alla collezione di colonne di uscita dal componente, e tutte le colonne della collezione di colonne di uscita dei componenti a monte del componente. Le colonne sono posizionate in una riga buffer usando il FindColumnByLineageID metodo del BufferManager.

ProcessInput verrà chiamato ripetutamente mentre il compito di flusso dati riceve buffer completi dai componenti a monte. Il ProcessInput metodo è chiamato finché la EndOfRowset proprietà non è true.

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

mentre (buffer. NextRow())

{ }

Fai qualcosa con ogni riga.

}

se (buffer. FineRialetto)

{ }

Opzionalmente, fai qualcosa dopo che tutte le righe sono state elaborate.

}

Si applica a