Lenguaje

IDTSBufferManager100.FindColumnByLineageID(Int32, Int32) Método

Definición

Obtiene la ubicación, por el índice, de una columna en un 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

El ID del IDTSBuffer100 objeto que contiene la columna.

nLineageID
Int32

El ID de linaje de la columna a localizar en el IDTSBuffer100.

Devoluciones

Un entero que indica la ubicación, por el índice, de la columna en el IDTSBuffer100.

Atributos

Ejemplos

El siguiente ejemplo de código muestra cómo un componente de transformación que no tiene columnas de salida utiliza el FindColumnByLineageID para localizar sus columnas de entrada en el búfer.

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  

Comentarios

Este método localiza la columna de un IDTSInput100 o IDTSOutput100 en el especificado IDTSBuffer100. Este método es necesario porque una instancia de búfer contiene todos los IDTSOutputColumn100 objetos definidos en las IDTSOutputColumnCollection100 colecciones de los componentes de un grafo. Los componentes no pueden depender de usar la ubicación del índice de su columna de salida, o columna de entrada, como índice de esa columna en una fila de búfer. Por ello, los componentes deben usar FindColumnByLineageID para localizar las columnas en el buffer.

Se aplica a