DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Metodo

Definizione

public:
 virtual int FindColumnByLineageID(int hBufferType, int nLineageID) = Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2012::IDTSBufferManager100::FindColumnByLineageID;
public virtual int FindColumnByLineageID (int hBufferType, int nLineageID);
abstract member FindColumnByLineageID : int * int -> int
override this.FindColumnByLineageID : int * int -> int
Public Overridable Function FindColumnByLineageID (hBufferType As Integer, nLineageID As Integer) As Integer

Parametri

hBufferType
Int32
nLineageID
Int32

Restituisce

Int32

Intero che indica la posizione, in base all'indice, della colonna in Metodo IDTSBuffer100.

Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato il modo in cui un componente di trasformazione privo di colonne di output utilizza FindColumnByLineageID per individuare le relative colonne di input nel buffer.

int[] bufferColumnIndex;  
public override void PreExecute()  
{  
    IDTSInput100 input = ComponentMetaData.InputCollection[0];  
    bufferColumnIndex = new int[BufferManager.GetColumnCount(input.Buffer)];  

    for( int col=0; col < input.InputColumnCollection.Count; col++)  
    {  
        IDTSInputColumn100 iCol = input.InputColumnCollection[col];  
        bufferColumnIndex[col] = BufferManager.FindColumnByLineageID(input.Buffer, iCol.LineageID);  
    }  
}  
Private bufferColumnIndex As Integer()   

Public Overloads Overrides Sub PreExecute()   
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection(0)   
 bufferColumnIndex = New Integer(BufferManager.GetColumnCount(input.Buffer) - 1) {}   
 Dim col As Integer = 0   
 While col < input.InputColumnCollection.Count   
   Dim iCol As IDTSInputColumn100 = input.InputColumnCollection(col)   
   bufferColumnIndex(col) = BufferManager.FindColumnByLineageID(input.Buffer, iCol.LineageID)   
   col -= 1   
 End While   
End Sub  

Commenti

Questo metodo individua la colonna di un Metodo IDTSBuffer100 o IDTSOutput100 nel Metodo IDTSBuffer100specificato. Questo metodo è necessario perché un'istanza di un buffer contiene tutti gli oggetti IDTSOutputColumn100 definiti nel IDTSOutputColumnCollection100 dei componenti in un grafico. I componenti non possono basarsi sull'utilizzo della posizione di indice di una colonna di output o di una colonna di input come indice della colonna in una riga del buffer. Per questo motivo, i componenti devono usare il metodo FindColumnByLineageID per individuare le colonne nel buffer.

Si applica a