DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Methode

Definition

Erhält die Position einer Spalte im angegebenen IDTSBuffer100 Objekt.

public:
 virtual int FindColumnByLineageID(int hBufferType, int nLineageID) = Microsoft::SqlServer::Dts::Pipeline::Wrapper::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

Parameter

hBufferType
Int32

Die ID des Objekts, das IDTSBuffer100 die Spalte enthält.

nLineageID
Int32

Die Abstammungs-ID der Spalte, die in der Spalte zu finden ist IDTSBuffer100.

Gibt zurück

Eine ganze Zahl, die den Standort der Spalte im IDTSBuffer100Index angibt.

Implementiert

Beispiele

Das folgende Codebeispiel zeigt, wie eine Transformationskomponente, die keine Ausgabespalten hat, verwendet FindColumnByLineageID wird, um ihre Eingabespalten im Puffer zu lokalisieren.

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  

Hinweise

Diese Methode lokalisiert die Spalte eines IDTSInput100 oder IDTSOutput100 in der angegebenen IDTSBuffer100. Diese Methode ist notwendig, weil eine Instanz eines Puffers alle IDTSOutputColumn100 in der IDTSOutputColumnCollection100 Komponente eines Graphen definierten Objekte enthält. Komponenten können sich nicht darauf verlassen, die Indexposition einer Ausgabespalte oder Eingabespalte als Index dieser Spalte in einer Pufferzeile zu verwenden. Deshalb müssen Komponenten die Methode FindColumnByLineageID verwenden, um die Spalten im Puffer zu lokalisieren.

Gilt für: