Share via


PipelineBuffer.SetEndOfRowset Method

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

Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.PipelineHost (in Microsoft.SqlServer.PipelineHost.dll)

Syntax

'Declaration
Public Sub SetEndOfRowset
'Usage
Dim instance As PipelineBuffer

instance.SetEndOfRowset()
public void SetEndOfRowset()
public:
void SetEndOfRowset()
member SetEndOfRowset : unit -> unit
public function SetEndOfRowset()

Remarks

Data flow components call this method when they have finished adding rows to an Output PipelineBuffer. 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.

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

See Also

Reference

PipelineBuffer Class

Microsoft.SqlServer.Dts.Pipeline Namespace