Interfaccia IDTSVirtualInput100

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

Spazio dei nomi  Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly:  Microsoft.SqlServer.DTSPipelineWrap (in Microsoft.SqlServer.DTSPipelineWrap.dll)

Sintassi

'Dichiarazione
<GuidAttribute("86FC9629-769A-479E-82ED-C6FD75C2FC8E")> _
Public Interface IDTSVirtualInput100 _
    Inherits IDTSObject100
'Utilizzo
Dim instance As IDTSVirtualInput100
[GuidAttribute("86FC9629-769A-479E-82ED-C6FD75C2FC8E")]
public interface IDTSVirtualInput100 : IDTSObject100
[GuidAttribute(L"86FC9629-769A-479E-82ED-C6FD75C2FC8E")]
public interface class IDTSVirtualInput100 : IDTSObject100
[<GuidAttribute("86FC9629-769A-479E-82ED-C6FD75C2FC8E")>]
type IDTSVirtualInput100 =  
    interface
        interface IDTSObject100
    end
public interface IDTSVirtualInput100 extends IDTSObject100

Nel tipo IDTSVirtualInput100 sono esposti i membri seguenti.

Proprietà

  Nome Descrizione
Proprietà pubblica Description Gets or sets the description of an IDTSObject100. Ereditato da IDTSObject100.
Proprietà pubblica Description Gets or sets the description of an IDTSVirtualInput100 object.
Proprietà pubblica ID Gets or sets the ID of an IDTSObject100object. Ereditato da IDTSObject100.
Proprietà pubblica ID Gets or sets the ID of a virtual input object.
Proprietà pubblica IdentificationString Gets a string that uniquely identifies an IDTSObject100. Ereditato da IDTSObject100.
Proprietà pubblica IdentificationString Gets a string that uniquely identifies the IDTSVirtualInput100.
Proprietà pubblica IsSorted Gets a value that indicates whether the virtual input columns in the IDTSVirtualInput100 are sorted.
Proprietà pubblica Name Gets or sets the name of an IDTSObject100 object. Ereditato da IDTSObject100.
Proprietà pubblica Name Gets or sets the name of an IDTSVirtualInput100.
Proprietà pubblica ObjectType Gets the ObjectType property of an IDTSObject100. Ereditato da IDTSObject100.
Proprietà pubblica ObjectType Gets the DTSObjectType of an IDTSVirtualInput100.
Proprietà pubblica SourceLocale Gets the locale ID (LCID) of the source of the IDTSVirtualInput100.
Proprietà pubblica VirtualInputColumnCollection Gets the IDTSVirtualInputColumnCollection100 of an IDTSVirtualInput100.

In alto

Metodi

  Nome Descrizione
Metodo pubblico SetUsageType Maps a virtual input column object and sets its usage type.

In alto

Osservazioni

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.

Esempi

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);
    }
}
Public Sub SelectColumns(ByVal md As IDTSComponentMetaData100) 
 Dim wrp As CManagedComponentWrapper = md.Instantiate 
 For Each input As IDTSInput100 In md.InputCollection 
   Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput 
   For Each vCol As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection 
     wrp.SetUsageType(input.ID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY) 
   Next 
 Next 
End Sub

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);
        }
    }
}
Public Overrides Sub OnInputPathAttached(ByVal inputID As Integer) 
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID) 
 Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput 
 For Each vCol As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection 
   If vCol.DataType = DataType.DT_STR Then 
     Me.SetUsageType(inputID, vInput, vCol.LineageID, DTSUsageType.UT_READONLY) 
   End If 
 Next 
End Sub