语言

PipelineComponent.ProcessInput(Int32, PipelineBuffer) 方法

定义

当上游组件的 a PipelineBuffer 可用时调用,让组件处理输入行。

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)

参数

inputID
Int32

组件输入的ID。

buffer
PipelineBuffer

PipelineBuffer 对象。

示例

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  

注解

ProcessInput该方法被调用时为组件提供一个PipelineBuffer包含上游组件行的完整对象。 缓冲区中包含的列包括组件中定义的 IDTSInputColumnCollection100 列。 如果组件有同步输出,缓冲区还会包含组件添加到输出列集合中的列,以及组件上游输出列集合中组件的所有列。 列位于缓冲区行中,使用FindColumnByLineageIDBufferManager的方法。

ProcessInput 当数据流任务从上游组件接收满缓冲区时,会反复调用。 ProcessInput该方法被调用直到性EndOfRowset质为 true

使用 NextRow 该方法和该 EndOfRowset 属性的正确模式为:

虽然(缓冲区。NextRow())

{ }

每行都做点什么。

}

如果(缓冲区。Rowset结束)

{ }

可选的是,所有行都处理完后再做点什么。

}

适用于