次の方法で共有


PipelineBuffer.SetEndOfRowset メソッド

定義

コンポーネントによるバッファーへの行の追加が完了したことを PipelineBuffer に通知します。

public:
 void SetEndOfRowset();
public void SetEndOfRowset ();
member this.SetEndOfRowset : unit -> unit
Public Sub SetEndOfRowset ()

次の例は、SetEndOfRowset への行の追加が完了したことを通知するときに 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  

注釈

データ フロー コンポーネントは、行の追加が完了したら、このメソッドを OutputPipelineBuffer呼び出します。 SetEndOfRowset が呼び出されると、コンポーネントによる PipelineBuffer への行の追加が完了したことが、データ フロー エンジンに通知されます。 すると、SetEndOfRowset メソッドにより、最終バッファーの EndOfRowset プロパティの値が true に設定されます。

PipelineBufferNotOutputBufferException が、Mode である場合にこのメソッドが呼び出されると、PipelineBuffer は、Input を生成します。

適用対象