Share via


DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Método

Definición

Obtiene la ubicación de una columna en el objeto IDTSBuffer100 especificado.

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

Parámetros

hBufferType
Int32

El id. del objeto IDTSBuffer100 que contiene la columna.

nLineageID
Int32

El id. de linaje de la columna que se va a ubicar en IDTSBuffer100.

Devoluciones

Entero que indica la ubicación, por índice, de la columna en IDTSBuffer100.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo usa un componente de transformación que no tiene columnas FindColumnByLineageID de salida para buscar 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 busca la columna de un IDTSInput100 objeto o IDTSOutput100 en el especificado IDTSBuffer100. Este método es necesario porque una instancia de un búfer contiene todos los IDTSOutputColumn100 objetos definidos en de IDTSOutputColumnCollection100 los componentes de un grafo. Los componentes no pueden basarse en el uso de la ubicación de índice de una columna de salida o columna de entrada como índice de esa columna en una fila de búfer. Por este motivo, los componentes deben usar el FindColumnByLineageID método para buscar las columnas en el búfer.

Se aplica a