PipelineBuffer.DirectRow(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine Zeile von a 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 Zeile, die IDTSOutput100PipelineBuffer gesendet wird.
Beispiele
Das folgende Beispiel zeigt eine Komponente, die zwei Ausgaben in derselben Ausschlussgruppe enthält. Während ProcessInput werden Zeilen mit der Methode DirectRow an einen der Ausgaben gesendet.
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 Methode DirectRow wird von Komponenten aufgerufen, die mehrere Ausgänge im selben ExclusionGroupZustand enthalten. Sie wird verwendet, um eine PipelineBuffer Zeile auf die angegebene Ausgabe zu lenken – eine spezifische Ausgabe in der Komponente. Diese Methode kann für Fehler- und Nichtfehlerausgaben verwendet werden, jedoch sollte die Methode DirectErrorRow verwendet werden, um Zeilen an eine Fehlerausgabe zu senden.
Wenn eine Komponente, die zwei synchrone Ausgänge in derselben Ausschlussgruppe hat, einen Puffer mit dieser NextRow Methode zur nächsten Zeile weiterleitet, ohne die Zeile auf einen bestimmten Ausgang zu lenken, wird die Zeile an beide Ausgänge gesendet.