Partager via


PipelineComponent.ProcessInput(Int32, PipelineBuffer) Méthode

Définition

Appelée au moment de l'exécution lorsqu'un objet PipelineBuffer d'un composant en amont est disponible pour permettre au composant de traiter les lignes entrantes.

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)

Paramètres

inputID
Int32

ID de l'entrée du composant.

Exemples

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  

Remarques

La ProcessInput méthode est appelée pour fournir au composant un objet complet PipelineBuffer qui contient des lignes du composant en amont. Les colonnes contenues dans la mémoire tampon incluent les colonnes définies dans le IDTSInputColumnCollection100 composant. Si le composant a des sorties synchrones, la mémoire tampon inclut également les colonnes ajoutées à la collection de colonnes de sortie par le composant et toutes les colonnes de la collection de colonnes de sortie des composants en amont du composant. Les colonnes se trouvent dans une ligne de mémoire tampon à l’aide de la FindColumnByLineageID méthode du BufferManager.

ProcessInput est appelée à plusieurs reprises, car la tâche de flux de données reçoit des mémoires tampons complètes des composants en amont. La ProcessInput méthode est appelée jusqu’à ce que la EndOfRowset propriété soit true.

Le modèle correct pour l’utilisation de la NextRow méthode et la EndOfRowset propriété est :

while (buffer.NextRow())

{

// Do something with each row.

}

if (buffer.EndOfRowset)

{

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

}

S’applique à