Metoda IDTSBufferManager100.FindColumnByLineageID
Pobiera przez indeks kolumna w określonej lokalizacji, IDTSBuffer100 obiektu.
Przestrzeń nazw: Microsoft.SqlServer.Dts.Pipeline.Wrapper
Zestaw: Microsoft.SqlServer.DTSPipelineWrap (w Microsoft.SqlServer.DTSPipelineWrap.dll)
Składnia
'Deklaracja
Function FindColumnByLineageID ( _
hBufferType As Integer, _
nLineageID As Integer _
) As Integer
'Użycie
Dim instance As IDTSBufferManager100
Dim hBufferType As Integer
Dim nLineageID As Integer
Dim returnValue As Integer
returnValue = instance.FindColumnByLineageID(hBufferType, _
nLineageID)
int FindColumnByLineageID(
int hBufferType,
int nLineageID
)
int FindColumnByLineageID(
[InAttribute] int hBufferType,
[InAttribute] int nLineageID
)
abstract FindColumnByLineageID :
hBufferType:int *
nLineageID:int -> int
function FindColumnByLineageID(
hBufferType : int,
nLineageID : int
) : int
Parametry
- hBufferType
Typ: System.Int32
Identyfikator IDTSBuffer100 obiekt, który zawiera kolumna.
- nLineageID
Typ: System.Int32
Identyfikator rodowodu kolumna, aby zlokalizować w IDTSBuffer100.
Wartość zwracana
Typ: System.Int32
Liczba całkowita, która wskazuje lokalizację, przez indeks kolumna w IDTSBuffer100.
Uwagi
Ta metoda lokalizuje kolumna IDTSInput100 lub IDTSOutput100 określonego IDTSBuffer100.Ta metoda jest konieczne, ponieważ zawiera wszystkie wystąpienie buforu IDTSOutputColumn100 obiektów zdefiniowanych w IDTSOutputColumnCollection100 kolekcji elementów wykresu.Składniki nie można polegać na przy użyciu lokalizacji indeksu kolumna wyjściowe lub wejściowe kolumna jako indeks tej kolumna w wierszu bufora.Z tego powodu należy użyć składników FindColumnByLineageID zlokalizować kolumn w buforze.
Przykłady
Poniższy przykład kodu pokazuje, jak składnik transformacja, który nie ma kolumn wyjściowych używa FindColumnByLineageID do zlokalizowania jej wprowadzania kolumn w buforze.
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
Zobacz także