次の方法で共有


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 に設定されます。

PipelineBufferMode が、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