Поделиться через


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 в окончательном буфере.

Создает PipelineBuffer значение NotOutputBufferException , когда Mode объект PipelineBuffer is Input и вызывается этот метод.

Применяется к