PipelineBuffer.SetEndOfRowset Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.