Freigeben über


DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Methode

Definition

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

Parameter

hBufferType
Int32
nLineageID
Int32

Gibt zurück

Eine ganze Zahl , die die Position der Spalte im IDTSBuffer100 nach Index angibt.

Implementiert

Beispiele

Das folgende Codebeispiel zeigt, wie eine Transformationskomponente ohne Ausgabespalten FindColumnByLineageID verwendet, um ihre Eingabespalten im Puffer zu suchen.

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 sucht die Spalte eines IDTSBuffer100- oder IDTSOutput100-Objekts im angegebenen IDTSBuffer100. Diese Methode ist erforderlich, da eine Instanz eines Puffers alle IDTSOutputColumn100-Objekte enthält, die in IDTSOutputColumnCollection100 der Komponenten in einem Diagramm definiert sind. Komponenten können sich nicht darauf verlassen, den Indexspeicherort einer Ausgabespalte oder Eingabespalte als Index dieser Spalte in einer Pufferzeile zu verwenden. Daher müssen Komponenten die FindColumnByLineageID-Methode verwenden, um die Spalten im Puffer zu suchen.

Gilt für: