PipelineComponent.ProcessInput(Int32, PipelineBuffer) Método

Definición

Recibe una llamada en tiempo de ejecución cuando una clase PipelineBuffer de un componente de nivel superior se encuentra a disposición del componente para permitir a este procesar las filas 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)

Parámetros

inputID
Int32

El identificador de la entrada del componente.

Ejemplos

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  

Comentarios

Se ProcessInput llama al método para proporcionar al componente un objeto completo PipelineBuffer que contiene filas del componente ascendente. Las columnas contenidas en el búfer incluyen esas columnas definidas en el IDTSInputColumnCollection100 del componente . Si el componente tiene salidas sincrónicas, el búfer también incluirá las columnas agregadas a la colección de columnas de salida por el componente y todas las columnas de la colección de columnas de salida de los componentes ascendentes del componente. Las columnas se encuentran en una fila de búfer mediante el FindColumnByLineageID método de BufferManager.

ProcessInput se llamará repetidamente a medida que la tarea de flujo de datos recibe búferes completos de los componentes ascendentes. Se ProcessInput llama al método hasta que la EndOfRowset propiedad es true.

El patrón correcto para usar el NextRow método y la EndOfRowset propiedad es:

while (buffer.NextRow())

{

// Hacer algo con cada fila.

}

if (buffer.EndOfRowset)

{

// Opcionalmente, hacer algo después de procesar todas las filas.

}

Se aplica a