Share via


PipelineComponent.SetUsageType Method

Creates an IDTSInputColumn90 object in the IDTSInputColumnCollection90 of the component and sets the UsageType property of the column. This method is not CLS-compliant.

Namespace: Microsoft.SqlServer.Dts.Pipeline
Assembly: Microsoft.SqlServer.PipelineHost (in microsoft.sqlserver.pipelinehost.dll)

Syntax

'Declaration
<CLSCompliantAttribute(False)> _
Public Overridable Function SetUsageType ( _
    inputID As Integer, _
    virtualInput As IDTSVirtualInput90, _
    lineageID As Integer, _
    usageType As DTSUsageType _
) As IDTSInputColumn90
[CLSCompliantAttribute(false)] 
public virtual IDTSInputColumn90 SetUsageType (
    int inputID,
    IDTSVirtualInput90 virtualInput,
    int lineageID,
    DTSUsageType usageType
)
[CLSCompliantAttribute(false)] 
public:
virtual IDTSInputColumn90^ SetUsageType (
    int inputID, 
    IDTSVirtualInput90^ virtualInput, 
    int lineageID, 
    DTSUsageType usageType
)
/** @attribute CLSCompliantAttribute(false) */ 
public IDTSInputColumn90 SetUsageType (
    int inputID, 
    IDTSVirtualInput90 virtualInput, 
    int lineageID, 
    DTSUsageType usageType
)
CLSCompliantAttribute(false) 
public function SetUsageType (
    inputID : int, 
    virtualInput : IDTSVirtualInput90, 
    lineageID : int, 
    usageType : DTSUsageType
) : IDTSInputColumn90

Parameters

  • inputID
    The ID of the IDTSInput90 object.
  • virtualInput
    The IDTSVirtualInput90 object that is used to map the IDTSInputColumn90 object.

Return Value

The IDTSInputColumn90 object whose UsageType is set.

Remarks

If usageType is UT_READONLY or UT_READWRITE, the base class adds the column to the input column collection of the component; if it is UT_IGNORED, the existing column is removed. Override this method to restrict the columns that are added to the component based on the data type, or usage type, of the column.

Example

The following example prevents users of the component from setting the usage type of a column to read-only.

public override IDTSInputColumn90 SetUsageType(int inputID, IDTSVirtualInput90 virtualInput, int lineageID, DTSUsageType usageType)
{
    // Prevent columns from being set to Read Only.
    if ( usageType == DTSUsageType.UT_READONLY )
        throw new Exception( "The UsageType must be set to ReadWrite.");

    // Otherwise let the base class add or remove the column.
    return base.SetUsageType (inputID, virtualInput, lineageID, usageType);

}
Public Overrides Function SetUsageType(ByVal inputID As Integer, ByVal virtualInput As IDTSVirtualInput90, ByVal lineageID As Integer, ByVal usageType As DTSUsageType) As IDTSInputColumn90 
 If usageType = DTSUsageType.UT_READONLY Then 
   Throw New Exception("The UsageType must be set to ReadWrite.") 
 End If 
 Return MyBase.SetUsageType(inputID, virtualInput, lineageID, usageType) 
End Function

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 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

PipelineComponent Class
PipelineComponent Members
Microsoft.SqlServer.Dts.Pipeline Namespace