Share via


PipelineBuffer.SetEndOfRowset Method

Definition

Notifies the PipelineBuffer that a component has finished adding rows to the buffer.

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

Examples

The following example shows a source component that calls SetEndOfRowset to signal that it is finished adding rows to the 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  

Remarks

Data flow components call this method when they have finished adding rows to an OutputPipelineBuffer. Calling SetEndOfRowset notifies the data flow engine that a component has finished adding rows to the PipelineBuffer. The SetEndOfRowset method then sets the value of the EndOfRowset property to true on the final buffer.

The PipelineBuffer produces a NotOutputBufferException when the Mode of the PipelineBuffer is Input and this method is called.

Applies to