Partilhar via


PipelineBuffer.SetEndOfRowset Método

Definição

Notifica o PipelineBuffer de que um componente concluiu a adição de linhas ao buffer.

public:
 void SetEndOfRowset();
public void SetEndOfRowset ();
member this.SetEndOfRowset : unit -> unit
Public Sub SetEndOfRowset ()

Exemplos

O exemplo a seguir mostra um componente de origem que chama SetEndOfRowset para sinalizar que ele terminou de adicionar linhas ao PipelineBuffer.

using System;  
using Microsoft.SqlServer.Dts.Pipeline;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
using Microsoft.SqlServer.Dts.Runtime.Wrapper;  

namespace Microsoft.Samples.SqlServer.Dts  
{  
  [DtsPipelineComponent(DisplayName = "SampleComponent")]  
  public class SampleSourceComponent: PipelineComponent  
  {  

    public override void ProvideComponentProperties()  
    {  
    IDTSOutput100 output = ComponentMetaData.OutputCollection.New();  
    output.Name = "SourceOutput";  

    IDTSOutputColumn100 column = output.OutputColumnCollection.New();  
    column.Name = "Column1";  
    column.SetDataTypeProperties(DataType.DT_R8, 0, 0, 0, 0);  
    }  

    public override void PrimeOutput(int outputs, int[] outputIDs, PipelineBuffer[] buffers)  
    {  
      double d = 123.5;  
      buffers[0].AddRow();  
      buffers[0].SetDouble(0, d);  
      buffers[0].SetEndOfRowset();  
    }  
  }  
}  
Imports System   
Imports Microsoft.SqlServer.Dts.Pipeline   
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper   
Namespace Microsoft.Samples.SqlServer.Dts   

 <DtsPipelineComponent(DisplayName="SampleComponent")> _   
 Public Class SampleSourceComponent   
 Inherits PipelineComponent   

   Public  Overrides Sub ProvideComponentProperties()   
     Dim output As IDTSOutput100 = ComponentMetaData.OutputCollection.New   
     output.Name = "SourceOutput"   
     Dim column As IDTSOutputColumn100 = output.OutputColumnCollection.New   
     column.Name = "Column1"   
     column.SetDataTypeProperties(DataType.DT_R8, 0, 0, 0, 0)   
   End Sub   

   Public  Overrides Sub PrimeOutput(ByVal outputs As Integer, ByVal outputIDs As Integer(), ByVal buffers As PipelineBuffer())   
     Dim d As Double = 123.5   
     buffers(0).AddRow   
     buffers(0).SetDouble(0, d)   
     buffers(0).SetEndOfRowset   
   End Sub   
 End Class   
End Namespace  

Comentários

Os componentes de fluxo de dados chamam esse método quando terminam de adicionar linhas a um OutputPipelineBuffer. A chamada SetEndOfRowset notifica o mecanismo de fluxo de dados de que um componente terminou de adicionar linhas ao PipelineBuffer. Em SetEndOfRowset seguida, o método define o valor da EndOfRowset propriedade como true no buffer final.

O PipelineBuffer produz um NotOutputBufferException quando o ModePipelineBuffer de é Input e esse método é chamado.

Aplica-se a