Export (0) Print
Expand All

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)

public void SetEndOfRowset()

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.

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();
    }
  }
}
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft