Export (0) Print
Expand All

IDTSVirtualInput100 Interface

 

Applies To: SQL Server 2016 Preview

Represents the columns available to a component from the upstream component.

Namespace:   Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly:  Microsoft.SqlServer.DTSPipelineWrap (in Microsoft.SqlServer.DTSPipelineWrap.dll)

[TypeLibTypeAttribute(TypeLibTypeFlags.FDual | TypeLibTypeFlags.FDispatchable)]
[GuidAttribute("DD9E7F1F-A112-4EBD-9178-EE7DB0F2EDEC")]
public interface IDTSVirtualInput100 : IDTSObject100

NameDescription
System_CAPS_pubpropertyDescription

Gets or sets the description of an IDTSVirtualInput100 object.

System_CAPS_pubpropertyID

Gets or sets the ID of a virtual input object.

System_CAPS_pubpropertyIdentificationString

Gets a string that uniquely identifies the IDTSVirtualInput100.

System_CAPS_pubpropertyIsSorted

Gets a value that indicates whether the virtual input columns in the IDTSVirtualInput100 are sorted.

System_CAPS_pubpropertyName

Gets or sets the name of an IDTSVirtualInput100.

System_CAPS_pubpropertyObjectType

Gets the DTSObjectType of an IDTSVirtualInput100.

System_CAPS_pubpropertySourceLocale

Gets the locale ID (LCID) of the source of the IDTSVirtualInput100.

System_CAPS_pubpropertyVirtualInputColumnCollection

Gets the IDTSVirtualInputColumnCollection100 of an IDTSVirtualInput100.

NameDescription
System_CAPS_pubmethodSetUsageType(Int32, DTSUsageType)

Maps a virtual input column object and sets its usage type.

The IDTSVirtualInput100 is retrieved by calling the GetVirtualInput method of an IDTSInput100 object. The VirtualInputColumnCollection property contains the columns that are available from the upstream components in the graph.

When programmatically building a data flow task, the virtual columns are selected for a component by calling the SetUsageType method of the CManagedComponentWrapperClass.

Developers writing custom data flow components use the virtual input to discover the available upstream columns, and, depending on the component, to add columns to the input based on the columns in the virtual collection.

Because the virtual input is a reflection of upstream columns, modifications to the virtual input or the columns in the virtual input collection do not have any impact on the IDTSOutput100 itself.

Legacy Code Example

The following code example shows how to use the virtual input to select the columns used by a component when programmatically building the data flow task.

public void SelectColumns(IDTSComponentMetaData100 md)
{
    // Create the design time instance of the component.
    CManagedComponentWrapper wrp = md.Instantiate();

    // Walk the input collection.
    foreach (IDTSInput100 input in md.InputCollection)
    {
        // Get the virtual input columns.
        IDTSVirtualInput100 vInput = input.GetVirtualInput();

        // For each virtual column, set its usagetype to READONLY.
        foreach (IDTSVirtualInputColumn100 vCol in vInput.VirtualInputColumnCollection)
            wrp.SetUsageType(input.ID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY);
    }
}

The following code example shows a custom data flow component that selects all of the DT_STR columns from the virtual input when the input is connected to a path.

public override void OnInputPathAttached(int inputID)
{
    IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);
    IDTSVirtualInput100 vInput = input.GetVirtualInput();

    foreach (IDTSVirtualInputColumn100 vCol in vInput.VirtualInputColumnCollection)
    {
        if (vCol.DataType == DataType.DT_STR)
        {
            this.SetUsageType(inputID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY);
        }
    }
}
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2015 Microsoft