DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Position einer Spalte im angegebenen IDTSBuffer100-Objekt ab.
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
Parameter
- hBufferType
- Int32
Die ID des IDTSBuffer100-Objekts, das die Spalte enthält.
- nLineageID
- Int32
Die Herkunfts-ID der Spalte, die in IDTSBuffer100 gesucht werden soll.
Gibt zurück
Eine Ganze Zahl, die die Position nach Index der Spalte in der IDTSBuffer100.
Implementiert
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie eine Transformationskomponente, die keine Ausgabespalten FindColumnByLineageID enthält, verwendet wird, um die Eingabespalten im Puffer zu suchen.
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
Hinweise
Diese Methode sucht die Spalte einer IDTSInput100 oder IDTSOutput100 eines in der angegebenen IDTSBuffer100. Diese Methode ist erforderlich, da eine Instanz eines Puffers alle objekte enthält, die IDTSOutputColumn100 in IDTSOutputColumnCollection100 den Komponenten in einem Diagramm definiert sind. Komponenten können sich nicht auf die Verwendung der Indexposition einer Ausgabespalte oder Eingabespalte als Index dieser Spalte in einer Pufferzeile verlassen. Aus diesem Gründen müssen Komponenten die FindColumnByLineageID Methode verwenden, um die Spalten im Puffer zu suchen.