PipelineBuffer.SetEndOfRowset メソッド
コンポーネントによるバッファーへの行の追加が完了したことを PipelineBuffer に通知します。
名前空間: Microsoft.SqlServer.Dts.Pipeline
アセンブリ: Microsoft.SqlServer.PipelineHost (Microsoft.SqlServer.PipelineHost.dll)
構文
'宣言
Public Sub SetEndOfRowset
'使用
Dim instance As PipelineBuffer
instance.SetEndOfRowset()
public void SetEndOfRowset()
public:
void SetEndOfRowset()
member SetEndOfRowset : unit -> unit
public function SetEndOfRowset()
説明
データ フロー コンポーネントは、OutputPipelineBuffer への行の追加が完了すると、このメソッドを呼び出します。 SetEndOfRowset が呼び出されると、コンポーネントによる PipelineBuffer への行の追加が完了したことが、データ フロー エンジンに通知されます。 すると、SetEndOfRowset メソッドにより、最終バッファーの EndOfRowset プロパティの値が true に設定されます。
PipelineBuffer の Mode が、Input である場合にこのメソッドが呼び出されると、PipelineBuffer は、NotOutputBufferException を生成します。
使用例
次の例は、PipelineBuffer への行の追加が完了したことを通知するときに SetEndOfRowset を呼び出す、基になるコンポーネントを示します。
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