PipelineComponent.ProcessInput(Int32, PipelineBuffer) 메서드

정의

업스트림 구성 요소의 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입니다.

예제

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.

메서드 및 EndOfRowset 속성을 사용하는 NextRow 올바른 패턴은 다음과 같습니다.

while (buffer.NextRow())

{

// Do something with each row.

}

if (buffer.EndOfRowset)

{

// Optionally, do something after all rows have been processed.

}

적용 대상