PipelineComponent.ProcessInput(Int32, PipelineBuffer) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
上流コンポーネントからの 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 で定義された列が含まれます。 コンポーネントに同期出力がある場合、バッファにはコンポーネントが出力カラムコレクションに追加した列や、そのコンポーネントの上流にある出力カラムコレクション内のすべてのカラムも含まれます。 カラムはBufferManagerのFindColumnByLineageID法を用いてバッファ行に配置されます。
ProcessInput データフロータスクが上流コンポーネントから完全なバッファを受け取るたびに繰り返し呼び出されます。
ProcessInputメソッドはEndOfRowsetプロパティがtrueされるまで呼び出されます。
NextRow法とEndOfRowset性質を正しく使用するパターンは以下の通りです:
ただし(バッファ。NextRow())
{
各段に何かしらのことをしてください。
}
もし(バッファ。RowSet終了)
{
オプションとして、すべての行が処理された後に何かを行うこともあります。
}