IDTSVirtualInput100 Schnittstelle

Definition

public interface class IDTSVirtualInput100 : Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2014::IDTSObject100
[System.Runtime.InteropServices.Guid("DD9E7F1F-A112-4EBD-9178-EE7DB0F2EDEC")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2014.IDTSObject100
[<System.Runtime.InteropServices.Guid("DD9E7F1F-A112-4EBD-9178-EE7DB0F2EDEC")>]
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
type IDTSVirtualInput100 = interface
    interface IDTSObject100
Public Interface IDTSVirtualInput100
Implements IDTSObject100
Attribute
Implementiert

Beispiele

Das folgende Codebeispiel zeigt, wie man die virtuelle Eingabe verwendet, um die Spalten auszuwählen, die von einer Komponente beim programmatischen Erstellen der Datenflussaufgabe verwendet werden.

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  
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);  
    }  
}  

Das folgende Codebeispiel zeigt eine benutzerdefinierte Datenflusskomponente, die alle DT_STR Spalten aus der virtuellen Eingabe auswählt, wenn die Eingabe mit einem Pfad verbunden ist.

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  

Hinweise

Das IDTSVirtualInput100 wird abgerufen, indem die Methode GetVirtualInput eines IDTSInput100 Objekts aufgerufen wird. Die Eigenschaft VirtualInputColumnCollection enthält die Spalten, die von den vorgelagerten Komponenten im Graphen verfügbar sind.

Beim programmatischen Erstellen einer Datenflussaufgabe werden die virtuellen Spalten für eine Komponente ausgewählt, indem die Methode SetUsageType der Methode aufgerufen wird CManagedComponentWrapperClass.

Entwickler, die benutzerdefinierte Datenflusskomponenten schreiben, verwenden die virtuelle Eingabe, um die verfügbaren Upstream-Spalten zu entdecken, und je nach Komponente Spalten zur Eingabe basierend auf den Spalten in der virtuellen Sammlung hinzuzufügen.

Da die virtuelle Eingabe eine Spiegelung der vorgelagerten Spalten ist, haben Änderungen an der virtuellen Eingabe oder an den Spalten in der virtuellen Eingabesammlung keinen Einfluss auf die Spalte IDTSOutput100 selbst.

Gilt für: