Freigeben über


PipelineBuffer.SetEndOfRowset Methode

Definition

Benachrichtigt PipelineBuffer darüber, dass dem Puffer von einer Komponente keine Zeilen mehr hinzugefügt werden.

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

Beispiele

Das folgende Beispiel zeigt eine Quellkomponente, die aufruft SetEndOfRowset , um zu signalisieren, dass es abgeschlossen ist, Zeilen zum Hinzufügen von Zeilen zu der 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  

Hinweise

Datenflusskomponenten rufen diese Methode auf, wenn sie mit dem Hinzufügen von Zeilen zu einer OutputPipelineBuffer. Durch Aufrufen SetEndOfRowset des Datenflussmoduls wird benachrichtigt, dass eine Komponente das Hinzufügen von Zeilen zur PipelineBufferKomponente abgeschlossen hat. Die SetEndOfRowset Methode legt dann den Wert der EndOfRowset Eigenschaft true auf den endgültigen Puffer fest.

Die PipelineBuffer erzeugt einen NotOutputBufferException Zeitpunkt, an dem die InputModePipelineBuffer Methode aufgerufen wird.

Gilt für: