IDTSBufferManager100.FindColumnByLineageID(Int32, Int32) Método

Definição

Obtém a localização, por índice, de uma coluna em um objeto especificado IDTSBuffer100 .

public:
 int FindColumnByLineageID(int hBufferType, int nLineageID);
[System.Runtime.InteropServices.DispId(121)]
public int FindColumnByLineageID(int hBufferType, int nLineageID);
[<System.Runtime.InteropServices.DispId(121)>]
abstract member FindColumnByLineageID : int * int -> int
Public Function FindColumnByLineageID (hBufferType As Integer, nLineageID As Integer) As Integer

Parâmetros

hBufferType
Int32

O ID do IDTSBuffer100 objeto que contém a coluna.

nLineageID
Int32

O ID de linhagem da coluna a ser localizada no IDTSBuffer100.

Retornos

Um inteiro que indica a localização, por índice, da coluna na IDTSBuffer100.

Atributos

Exemplos

O exemplo de código a seguir mostra como um componente de transformação que não possui colunas de saída usa o FindColumnByLineageID para localizar suas colunas de entrada no 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  

Comentários

Esse método localiza a coluna de um IDTSInput100 ou IDTSOutput100 no especificado IDTSBuffer100. Esse método é necessário porque uma instância de buffer contém todos os IDTSOutputColumn100 objetos definidos nas IDTSOutputColumnCollection100 coleções dos componentes de um grafo. Os componentes não podem depender do uso da localização do índice de sua coluna de saída, ou coluna de entrada, como índice dessa coluna em uma linha de buffer. Por causa disso, os componentes devem ser usados FindColumnByLineageID para localizar as colunas no buffer.

Aplica-se a