DTSBufferManagerClass.FindColumnByLineageID Method
Gets the location of a column in the specified IDTSBuffer100 object.
Namespace: Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly: Microsoft.SqlServer.DTSPipelineWrap (in microsoft.sqlserver.dtspipelinewrap.dll)
Syntax
'Deklaracja
<DispIdAttribute(121)> _
Public Overridable Function FindColumnByLineageID ( _
<InAttribute> hBufferType As Integer, _
<InAttribute> nLineageID As Integer _
) As Integer Implements IDTSBufferManager100.FindColumnByLineageID
[DispIdAttribute(121)]
public virtual int IDTSBufferManager100.FindColumnByLineageID (
[InAttribute] int hBufferType,
[InAttribute] int nLineageID
)
[DispIdAttribute(121)]
public:
virtual int FindColumnByLineageID (
[InAttribute] int hBufferType,
[InAttribute] int nLineageID
) = IDTSBufferManager100::FindColumnByLineageID
J# supports the use of explicit interface implementations, but not the declaration of new ones.
JScript supports the use of explicit interface implementations, but not the declarations of new ones.
Parameters
- hBufferType
The ID of the IDTSBuffer100 object that contains the column.
- nLineageID
The lineage ID of the column to locate in the IDTSBuffer100.
Return Value
An Integer that indicates the location, by index, of the column in the IDTSBuffer100.
Remarks
This method locates the column of an IDTSInput100 or IDTSOutput100 in the specified IDTSBuffer100. This method is necessary because an instance of a buffer contains all of the IDTSOutputColumn100 objects defined in the IDTSOutputColumnCollection100 of the components in a graph. Components cannot rely on using the index location of an output column or input column as the index of that column in a buffer row. Because of this, components must use the FindColumnByLineageID method to locate the columns in the buffer.
Example
The following code example shows how a transformation component that does not have output columns uses FindColumnByLineageID to locate its input columns in the 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
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server.
Target Platforms
For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server.