PipelineBuffer.DirectRow(Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
PipelineBuffer에서 지정한 IDTSOutput100으로 행을 보냅니다.
public:
void DirectRow(int outputID);
public void DirectRow (int outputID);
member this.DirectRow : int -> unit
Public Sub DirectRow (outputID As Integer)
매개 변수
- outputID
- Int32
IDTSOutput100 행을 보낼 PipelineBuffer의 ID입니다.
예제
다음 예제에서는 동일한 제외 그룹에 두 개의 출력을 포함 하는 구성 요소를 보여 줍니다. 행 중에 ProcessInput 메서드를 사용하여 DirectRow 출력 중 하나 또는 다른 출력으로 전송됩니다.
public override void ProvideComponentProperties()
{
IDTSInput100 input = ComponentMetaData.InputCollection.New();
Input.Name = "DTSSampleInput";
IDTSOutput output = ComponentMetaData.OutputCollection.New();
output.ExclusionGroup = 1;
output.Name = "Output1";
output.SynchronousInputID = input.ID;
IDTSOutput output = ComponentMetaData.OutputCollection.New();
output.ExclusionGroup = 1;
output.Name = "Output2";
output.SynchronousInputID = input.ID;
}
public override void ProcessInput(int inputID, PipelineBuffer buffer)
{
IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
IDTSOutput100 output1 = ComponentMetaData.OutputCollection[0];
IDTSOutput100 output2 = ComponentMetaData.OutputCollection[1];
while( buffer.NextRow())
{
// TODO: Insert if/then block here.
// If criteria is met, direct the buffer row to output1.
buffer.DirectRow(output1.ID);
// Otherwise, direct the row to output2.
buffer.DirectRow(output2.ID);
}
}
Public Overrides Sub ProvideComponentProperties()
Dim input As IDTSInput100 = ComponentMetaData.InputCollection.New
Input.Name = "DTSSampleInput"
Dim output As IDTSOutput = ComponentMetaData.OutputCollection.New
output.ExclusionGroup = 1
output.Name = "Output1"
output.SynchronousInputID = input.ID
Dim output As IDTSOutput = ComponentMetaData.OutputCollection.New
output.ExclusionGroup = 1
output.Name = "Output2"
output.SynchronousInputID = input.ID
End Sub
Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)
Dim input As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID)
Dim output1 As IDTSOutput100 = ComponentMetaData.OutputCollection(0)
Dim output2 As IDTSOutput100 = ComponentMetaData.OutputCollection(1)
While buffer.NextRow
' TODO: Insert if/then block here.
' If criteria is met, direct the buffer row to output1.
buffer.DirectRow(output1.ID)
' Otherwise, direct the row to output2.
buffer.DirectRow(output2.ID)
End While
End Sub
설명
메서드 DirectRow 는 동일한 ExclusionGroup출력에 여러 출력을 포함 하는 구성 요소에 의해 호출 됩니다. 지정된 출력( PipelineBuffer 구성 요소의 특정 출력)으로 행을 지시하는 데 사용됩니다. 이 메서드는 오류 및 오류가 아닌 출력에 사용할 수 있지만 이 DirectErrorRow 메서드를 사용하여 행을 오류 출력으로 보내야 합니다.
동일한 제외 그룹에 두 개의 동기 출력이 있는 구성 요소가 특정 출력으로 행을 전달하지 않고 메서드를 사용하여 NextRow 버퍼를 다음 행으로 이동하면 행이 두 출력으로 전송됩니다.