Freigeben über


PipelineBuffer.DirectRow(Int32) Methode

Definition

Sendet eine Zeile aus PipelineBuffer an die angegebene IDTSOutput100.

public:
 void DirectRow(int outputID);
public void DirectRow (int outputID);
member this.DirectRow : int -> unit
Public Sub DirectRow (outputID As Integer)

Parameter

outputID
Int32

Die ID der IDTSOutput100, an die die PipelineBuffer-Zeile gesendet wird.

Beispiele

Im folgenden Beispiel wird eine Komponente gezeigt, die zwei Ausgaben in derselben Ausschlussgruppe enthält. Während ProcessInput der Zeilen werden mithilfe der Methode an eine oder eine andere ausgabe gesendet 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  

Hinweise

Die DirectRow Methode wird von Komponenten aufgerufen, die mehrere Ausgabe in derselben ExclusionGroupenthalten. Es wird verwendet, um eine PipelineBuffer Zeile an die angegebene Ausgabe zu leiten – eine bestimmte Ausgabe in der Komponente. Diese Methode kann für Fehler- und Nichtfehlerausgaben verwendet werden, die Methode sollte jedoch verwendet werden, DirectErrorRow um Zeilen an eine Fehlerausgabe zu senden.

Wenn eine Komponente mit zwei synchronen Ausgängen in derselben Ausschlussgruppe einen Puffer in die nächste Zeile mit der NextRow Methode vorgibt, ohne die Zeile auf eine bestimmte Ausgabe zu leiten, wird die Zeile an beide Ausgabe gesendet.

Gilt für: