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입니다.

예제

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 이 메서드는 속성이 EndOfRowsettrue때까지 호출됩니다.

메서드와 EndOfRowset 속성을 올바르게 사용하는 NextRow 패턴은 다음과 같습니다:

반면 (버퍼. NextRow())

{ }

각 줄마다 뭔가 해보세요.

}

만약 (버퍼. 로우셋 끝)

{ }

선택적으로, 모든 행이 처리된 후에 다른 작업을 해보세요.

}

적용 대상