DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém a localização de uma coluna no 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
A ID do objeto IDTSBuffer100 que contém a coluna.
- nLineageID
- Int32
A ID de linhagem da coluna a ser localizada no IDTSBuffer100.
Retornos
Um inteiro que indica o local, por índice, da coluna no IDTSBuffer100 .
Implementações
Exemplos
O exemplo de código a seguir mostra como um componente de transformação que não tem colunas FindColumnByLineageID de saída usa 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 um buffer contém todos os IDTSOutputColumn100 objetos definidos no IDTSOutputColumnCollection100 dos componentes em um grafo. Os componentes não podem contar com o uso do local de índice de uma coluna de saída ou coluna de entrada como o índice dessa coluna em uma linha de buffer. Por isso, os componentes devem usar o FindColumnByLineageID método para localizar as colunas no buffer.