Bagikan melalui


PipelineComponent.ProcessInput(Int32, PipelineBuffer) Metode

Definisi

Dipanggil pada waktu proses ketika PipelineBuffer komponen dari hulu tersedia untuk komponen untuk membiarkan komponen memproses baris masuk.

public:
 virtual void ProcessInput(int inputID, Microsoft::SqlServer::Dts::Pipeline::PipelineBuffer ^ buffer);
public virtual void ProcessInput (int inputID, Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer buffer);
abstract member ProcessInput : int * Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer -> unit
override this.ProcessInput : int * Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer -> unit
Public Overridable Sub ProcessInput (inputID As Integer, buffer As PipelineBuffer)

Parameter

inputID
Int32

ID input komponen.

Contoh

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  

Keterangan

Metode ProcessInput ini dipanggil untuk menyediakan komponen objek lengkap PipelineBuffer yang berisi baris dari komponen upstram. Kolom yang terkandung dalam buffer menyertakan kolom yang ditentukan dalam IDTSInputColumnCollection100 komponen. Jika komponen memiliki output sinkron, buffer juga akan menyertakan kolom yang ditambahkan ke koleksi kolom output oleh komponen, dan semua kolom dalam kumpulan kolom output komponen upstream dari komponen. Kolom terletak di baris buffer menggunakan FindColumnByLineageID metode BufferManager.

ProcessInput akan dipanggil berulang kali karena tugas aliran data menerima buffer penuh dari komponen upstream. Metode ProcessInput ini dipanggil sampai EndOfRowset properti adalah true.

Pola yang NextRow benar untuk menggunakan metode dan EndOfRowset properti adalah:

sementara (buffer. NextRow())

{

Lakukan sesuatu dengan setiap baris.

}

jika (buffer. EndOfRowset)

{

Secara opsional, lakukan sesuatu setelah semua baris diproses.

}

Berlaku untuk