IDTSBufferManager100.FindColumnByLineageID(Int32, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la ubicación, mediante el índice, de una columna en un objeto IDTSBuffer100 especificado.
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 objeto IDTSBuffer100 que contiene la columna.
- nLineageID
- Int32
El id. de linaje de la columna que se va a ubicar en IDTSBuffer100.
Devoluciones
Un entero que indica la ubicación, a través del índice, de la columna en IDTSBuffer100.
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo un componente de transformación que no tiene columnas de salida usa para FindColumnByLineageID 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 o IDTSInput100IDTSOutput100 en el especificado IDTSBuffer100. Este método es necesario porque una instancia de un búfer contiene todos los IDTSOutputColumn100 objetos definidos en las IDTSOutputColumnCollection100 colecciones de los componentes de un grafo. Los componentes no pueden basarse en el uso de la ubicación de índice de su 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 FindColumnByLineageID para buscar las columnas en el búfer.