DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
public:
virtual int FindColumnByLineageID(int hBufferType, int nLineageID) = Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2014::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
- nLineageID
- Int32
Mengembalikan
Bilangan bulat yang menunjukkan lokasi, menurut indeks, dari kolom di IDTSBuffer100.
Penerapan
Contoh
Contoh kode berikut menunjukkan bagaimana komponen transformasi yang tidak memiliki kolom output menggunakan FindColumnByLineageID untuk menemukan kolom inputnya di buffer.
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
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);
}
}
Keterangan
Metode ini menemukan kolom IDTSInput100 atau IDTSOutput100 dalam yang ditentukan IDTSBuffer100. Metode ini diperlukan karena instans buffer berisi semua IDTSOutputColumn100 objek yang ditentukan dalam GetObjectIndexByID komponen dalam grafik. Komponen tidak dapat mengandalkan penggunaan lokasi indeks kolom output atau kolom input sebagai indeks kolom tersebut dalam baris buffer. Karena itu, komponen harus menggunakan metode FindColumnByLineageID untuk menemukan kolom di buffer.