PipelineComponent.ProcessInput(Int32, PipelineBuffer) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
- buffer
- PipelineBuffer
Objeto PipelineBuffer.
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.
}