DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene la posizione di una colonna nell'oggetto IDTSBuffer100 specificato.
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
Parametri
- hBufferType
- Int32
ID dell'oggetto IDTSBuffer100 contenente la colonna.
- nLineageID
- Int32
ID di derivazione della colonna da individuare nell'oggetto IDTSBuffer100.
Restituisce
Valore Integer che indica la posizione, in base all'indice, della colonna in IDTSBuffer100.
Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come un componente di trasformazione che non dispone di colonne di output utilizzate FindColumnByLineageID per individuare le colonne di input nel 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
Commenti
Questo metodo individua la colonna di un IDTSInput100 oggetto o IDTSOutput100 nell'oggetto specificato IDTSBuffer100. Questo metodo è necessario perché un'istanza di un buffer contiene tutti gli IDTSOutputColumn100 oggetti definiti nell'oggetto IDTSOutputColumnCollection100 dei componenti di un grafico. I componenti non possono basarsi sull'utilizzo del percorso di indice di una colonna di output o di una colonna di input come indice di tale colonna in una riga del buffer. Per questo motivo, i componenti devono usare il FindColumnByLineageID metodo per individuare le colonne nel buffer.