PipelineComponent.ProcessInput(Int32, PipelineBuffer) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当上游组件的 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结束)
{ }
可选的是,所有行都处理完后再做点什么。
}