Udostępnij za pośrednictwem


Metoda PipelineComponent.ProcessInput

Wywołana przy uruchomieniu czas po PipelineBuffer od składnika nadrzędnego jest dostępny do składnika, aby umożliwić składnik przetwarzania przychodzących wierszy.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Pipeline
Zestaw:  Microsoft.SqlServer.PipelineHost (w Microsoft.SqlServer.PipelineHost.dll)

Składnia

'Deklaracja
Public Overridable Sub ProcessInput ( _
    inputID As Integer, _
    buffer As PipelineBuffer _
)
'Użycie
Dim instance As PipelineComponent
Dim inputID As Integer
Dim buffer As PipelineBuffer

instance.ProcessInput(inputID, buffer)
public virtual void ProcessInput(
    int inputID,
    PipelineBuffer buffer
)
public:
virtual void ProcessInput(
    int inputID, 
    PipelineBuffer^ buffer
)
abstract ProcessInput : 
        inputID:int * 
        buffer:PipelineBuffer -> unit 
override ProcessInput : 
        inputID:int * 
        buffer:PipelineBuffer -> unit 
public function ProcessInput(
    inputID : int, 
    buffer : PipelineBuffer
)

Parametry

  • inputID
    Typ: System.Int32
    Identyfikator wprowadzania składnika.

Uwagi

ProcessInput Zapewnienie pełnego składnika wywoływana jest metoda PipelineBuffer obiekt, który zawiera wiersze od składnika nadrzędnego.Kolumny zawarte w buforze obejmują tych kolumn zdefiniowanych w IDTSInputColumnCollection100 składnika.Jeśli składnik synchroniczne wyjść, bufor będzie również obejmować kolumna dodawane do kolekcja kolumn wyjściowych przez składnik i wszystkie kolumna kolekcja kolumn wyjściowych składników wlocie ze składnika.Kolumny znajdują się w wierszu bufora przy użyciu FindColumnByLineageID metoda BufferManager.

ProcessInputbędzie wywoływany cyklicznie jako zadanie przepływ danych odbiera pełnej buforów z nadrzędny składników.ProcessInput Do momentu wywoływana jest metoda EndOfRowset właściwość jest true.

Prawidłowy deseń za pomocą NextRow metoda i EndOfRowset właściwość jest:

Podczas (bufor.NextRow())

{

/ / Zrobić coś z każdego wiersza.

}

Jeśli (bufor.EndOfRowset)

{

/ / Opcjonalnie coś zrobić po przetworzeniu wszystkich wierszy.

}

Przykłady

public override void ProcessInput( int inputID, PipelineBuffer buffer )
{
    while( buffer.NextRow() )
    {
        // TODO: Read or write data to the columns in the buffer.
    }
}
Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer) 
 While buffer.NextRow 
  ' TODO: Read or write data to the columns in the buffer.
 End While 
End Sub