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 specificato IDTSBuffer100 .
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
L'ID dell'oggetto IDTSBuffer100 che contiene la colonna.
- nLineageID
- Int32
L'ID della linea di discendenza della colonna da localizzare nel IDTSBuffer100.
Valori restituiti
Un intero che indica la posizione, tramite indice, della colonna nel IDTSBuffer100.
Implementazioni
Esempio
Il seguente esempio di codice mostra come un componente di trasformazione che non ha colonne di output usa FindColumnByLineageID per localizzare le sue colonne di ingresso 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 localizza la colonna di un IDTSInput100 o IDTSOutput100 nel specificato IDTSBuffer100. Questo metodo è necessario perché un'istanza di buffer contiene tutti gli IDTSOutputColumn100 oggetti definiti nel IDTSOutputColumnCollection100 dei componenti di un grafo. I componenti non possono fare affidamento sull'uso della posizione indice di una colonna di output o di una colonna di input come indice di quella colonna in una riga buffer. Per questo motivo, i componenti devono utilizzare il FindColumnByLineageID metodo per localizzare le colonne nel buffer.