IDTSBufferManager100.FindColumnByLineageID(Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает местоположение столбца по индексу в указанном объекте IDTSBuffer100.
public:
int FindColumnByLineageID(int hBufferType, int nLineageID);
[System.Runtime.InteropServices.DispId(121)]
public int FindColumnByLineageID (int hBufferType, int nLineageID);
[<System.Runtime.InteropServices.DispId(121)>]
abstract member FindColumnByLineageID : int * int -> int
Public Function FindColumnByLineageID (hBufferType As Integer, nLineageID As Integer) As Integer
Параметры
- hBufferType
- Int32
Идентификатор объекта IDTSBuffer100, который содержит столбец.
- nLineageID
- Int32
Идентификатор журнала обращений и преобразований искомого столбца в IDTSBuffer100.
Возвращаемое значение
Целочисленное значение, указывающее местоположение по индексу столбца в объекте IDTSBuffer100.
- Атрибуты
Примеры
В следующем примере кода показано, как компонент преобразования без выходных столбцов использует FindColumnByLineageID входные столбцы в буфере.
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
Комментарии
Этот метод находит столбец указанного IDTSInput100 или IDTSOutput100 указанного объекта IDTSBuffer100. Этот метод необходим, так как экземпляр буфера содержит все IDTSOutputColumn100 объекты, определенные в IDTSOutputColumnCollection100 коллекциях компонентов в графе. Компоненты не могут полагаться на использование расположения индекса выходного столбца или входного столбца в качестве индекса этого столбца в строке буфера. Из-за этого компоненты должны использовать FindColumnByLineageID для поиска столбцов в буфере.