PipelineBuffer.DirectRow(Int32) Método

Definición

Envía una fila de PipelineBuffer a la interfaz IDTSOutput100 especificada.

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

Parámetros

outputID
Int32

Id. de IDTSOutput100 donde se envía la fila de PipelineBuffer.

Ejemplos

En el ejemplo siguiente se muestra un componente que contiene dos salidas en el mismo grupo de exclusión. Durante ProcessInput las filas se envían a una u otra de las salidas mediante DirectRow el método .

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  

Comentarios

Los DirectRow componentes que contienen varias salidas en el mismo ExclusionGroupmétodo llaman al método . Se usa para dirigir una PipelineBuffer fila a la salida especificada: una salida específica del componente. Sin embargo, este método se puede usar para las salidas de error y que no son de error; sin embargo, el DirectErrorRow método debe usarse para enviar filas a una salida de error.

Si un componente que tiene dos salidas sincrónicas en el mismo grupo de exclusión avanza un búfer a la siguiente fila mediante el NextRow método sin dirigir la fila a una salida específica, la fila se envía a ambas salidas.

Se aplica a