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

Im folgenden Codebeispiel wird gezeigt, wie die virtuelle Eingabe verwendet wird, um die Spalten auszuwählen, die von einer Komponente verwendet werden, wenn der Datenfluss Task Programm gesteuert aufgebaut wird.

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

Im folgenden Codebeispiel wird eine benutzerdefinierte Datenfluss Komponente gezeigt, 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

Der IDTSVirtualInput100 wird durch Aufrufen der- GetVirtualInput Methode eines- IDTSInput100 Objekts abgerufen. Die- VirtualInputColumnCollection Eigenschaft enthält die Spalten, die von den Upstreamkomponenten im Diagramm verfügbar sind.

Wenn Sie einen Datenfluss Task Programm gesteuert entwickeln, werden die virtuellen Spalten für eine Komponente ausgewählt, indem die- SetUsageType Methode des aufgerufen wird CManagedComponentWrapperClass .

Entwickler, die benutzerdefinierte Datenfluss Komponenten schreiben, verwenden die virtuelle Eingabe, um die verfügbaren Upstreamspalten zu ermitteln, und, abhängig von der Komponente, der Eingabe basierend auf den Spalten in der virtuellen Sammlung Spalten hinzuzufügen.

Da die virtuelle Eingabe eine Reflektion von Upstreamspalten ist, haben Änderungen an der virtuellen Eingabe oder den Spalten in der virtuellen Eingabe Auflistung keinerlei Auswirkung auf das IDTSOutput100 selbst.

Eigenschaften

Description
ID
IdentificationString
IsSorted
Name
ObjectType
SourceLocale
VirtualInputColumnCollection

Methoden

SetUsageType(Int32, DTSUsageType)

Gilt für