PipelineBuffer.DirectRow(Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Invia una riga da a PipelineBuffer a al specificato IDTSOutput100.
public:
void DirectRow(int outputID);
public void DirectRow(int outputID);
member this.DirectRow : int -> unit
Public Sub DirectRow (outputID As Integer)
Parametri
- outputID
- Int32
L'ID del IDTSOutput100 luogo in cui viene inviata la PipelineBuffer riga.
Esempio
L'esempio seguente mostra un componente che contiene due uscite nello stesso gruppo di esclusione. Durante ProcessInput le righe vengono inviate a una o all'altra delle uscite usando DirectRow il metodo.
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
Commenti
Il DirectRow metodo è chiamato da componenti che contengono più uscite nello stesso ExclusionGroup. Viene utilizzato per indirizzare una PipelineBuffer riga verso l'uscita specificata—un'uscita specifica nel componente. Questo metodo può essere usato sia per output di errore che non errore, tuttavia DirectErrorRow dovrebbe essere utilizzato per inviare righe a un output di errore.
Se un componente che ha due uscite sincrone nello stesso gruppo di esclusione avanza un buffer alla riga successiva usando il NextRow metodo senza indirizzare la riga a un'uscita specifica, la riga viene inviata a entrambe le uscite.