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