Partager via


DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Méthode

Définition

Obtient l'emplacement d'une colonne dans l'objet IDTSBuffer100 spécifié.

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

Paramètres

hBufferType
Int32

ID de l'objet IDTSBuffer100 qui contient la colonne.

nLineageID
Int32

ID de lignage de la colonne à rechercher dans l'objet IDTSBuffer100.

Retours

Entier qui indique l’emplacement, par index, de la colonne dans le IDTSBuffer100.

Implémente

Exemples

L’exemple de code suivant montre comment un composant de transformation qui n’a pas de colonnes de sortie utilise FindColumnByLineageID pour localiser ses colonnes d’entrée dans la mémoire tampon.

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  

Remarques

Cette méthode localise la colonne d’un IDTSInput100 ou IDTSOutput100 dans le fichier spécifié IDTSBuffer100. Cette méthode est nécessaire, car une instance d’une mémoire tampon contient tous les IDTSOutputColumn100 objets définis dans les IDTSOutputColumnCollection100 composants d’un graphique. Les composants ne peuvent pas s’appuyer sur l’utilisation de l’emplacement d’index d’une colonne de sortie ou d’une colonne d’entrée comme index de cette colonne dans une ligne de mémoire tampon. En raison de cela, les composants doivent utiliser la FindColumnByLineageID méthode pour localiser les colonnes dans la mémoire tampon.

S’applique à