PipelineBuffer.DirectRow(Int32) Méthode

Définition

Envoie une ligne d'un objet PipelineBuffer à l'objet IDTSOutput100 spécifié.

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

Paramètres

outputID
Int32

ID de l'objet IDTSOutput100 où la ligne PipelineBuffer est envoyée.

Exemples

L’exemple suivant montre un composant qui contient deux sorties dans le même groupe d’exclusions. Pendant ProcessInput les lignes, elles sont envoyées à l’une ou l’autre des sorties à l’aide DirectRow de la méthode.

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  

Remarques

La DirectRow méthode est appelée par les composants qui contiennent plusieurs sorties dans le même ExclusionGroup. Il est utilisé pour diriger une PipelineBuffer ligne vers la sortie spécifiée, une sortie spécifique dans le composant. Cette méthode peut être utilisée pour les sorties d’erreur et de non-erreur. Toutefois, la DirectErrorRow méthode doit être utilisée pour envoyer des lignes à une sortie d’erreur.

Si un composant qui a deux sorties synchrones dans le même groupe d’exclusion avance une mémoire tampon vers la ligne suivante à l’aide de la NextRow méthode sans diriger la ligne vers une sortie spécifique, la ligne est envoyée aux deux sorties.

S’applique à