IDTSInput100.GetVirtualInput Method ()

 

Applies To: SQL Server 2016 Preview

Gets the IDTSVirtualInput100 object of an IDTSInput100 object.

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

Syntax

[DispIdAttribute(105)]
IDTSVirtualInput100 GetVirtualInput()
[DispIdAttribute(105)]
IDTSVirtualInput100^ GetVirtualInput()
[<DispIdAttribute(105)>]
abstract GetVirtualInput : unit -> IDTSVirtualInput100
<DispIdAttribute(105)>
Function GetVirtualInput As IDTSVirtualInput100

Return Value

Type: Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSVirtualInput100

The IDTSVirtualInput100 object of the IDTSInput100 object.

Remarks

The GetVirtualInput method retrieves an IDTSVirtualInput100 object, which contains the collection of columns exposed in the IDTSOutput100 of the component connected to the IDTSInput100 through the IDTSPath100 object.

The IDTSVirtualInput100 object is not a persisted collection, and is simply a view of the IDTSOutput100 of the upstream component. Therefore, modifications to the IDTSVirtualInput100 or the columns contained in its VirtualInputColumnCollection are possible but do not have any impact on the IDTSOutput100 and its columns and thus should be avoided.

Columns from the VirtualInputColumnCollection are added and removed from the InputColumnCollection of the IDTSInput100 object by calling the SetUsageType method of the IDTSVirtualInput100 object.

If the IDTSInput100 object is not attached to an upstream component (its IsAttached property is false), the VirtualInputColumnCollection of the IDTSVirtualInput100 will be empty.

Examples

Legacy Code Example

The following code example calls SetUsageType on each column in a virtual input.

private void MapAllColumns( IDTSInput100 input )
{
    IDTSVirtualInput100 vInput = input.GetVirtualInput();

    foreach( IDTSVirtualInputColumn100 vCol in vInput.VirtualInputColumnCollection )
    {
        vInput.SetUsageType( vCol.LineageID, DTSUsageType.UT_READWRITE);
    }
}
Private Sub MapAllColumns(ByVal input As IDTSInput100) 
 Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput 
 For Each vCol As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection 
   vInput.SetUsageType(vCol.LineageID, DTSUsageType.UT_READWRITE) 
 Next 
End Sub

See Also

IDTSInput100 Interface
Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace

Return to top