Compartilhar via


IDTSVirtualInput100 Interface

Definição

public interface class IDTSVirtualInput100 : Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2012::IDTSObject100
[System.Runtime.InteropServices.Guid("9944F684-49C4-4354-AB7F-EE422A650E0E")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2012.IDTSObject100
[<System.Runtime.InteropServices.Guid("9944F684-49C4-4354-AB7F-EE422A650E0E")>]
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
type IDTSVirtualInput100 = interface
    interface IDTSObject100
Public Interface IDTSVirtualInput100
Implements IDTSObject100
Atributos
Implementações

Exemplos

O exemplo de código a seguir mostra como usar a entrada virtual para selecionar as colunas usadas por um componente ao criar programaticamente a tarefa de fluxo de dados.

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  

O exemplo de código a seguir mostra um componente de fluxo de dados personalizado que seleciona todas as colunas DT_STR da entrada virtual quando a entrada está conectada a um caminho.

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  

Comentários

Ele IDTSVirtualInput100 é recuperado chamando o GetVirtualInput método de um IDTSInput100 objeto. A VirtualInputColumnCollection propriedade contém as colunas disponíveis nos componentes upstream no grafo.

Ao criar programaticamente uma tarefa de fluxo de dados, as colunas virtuais são selecionadas para um componente chamando o SetUsageType método do CManagedComponentWrapperClass.

Os desenvolvedores que escrevem componentes de fluxo de dados personalizados usam a entrada virtual para descobrir as colunas upstream disponíveis e, dependendo do componente, para adicionar colunas à entrada com base nas colunas na coleção virtual.

Como a entrada virtual é um reflexo de colunas upstream, as modificações na entrada virtual ou nas colunas na coleção de entrada virtual não têm nenhum impacto em IDTSOutput100 si.

Propriedades

Description
ID
IdentificationString
IsSorted
Name
ObjectType
SourceLocale
VirtualInputColumnCollection

Métodos

SetUsageType(Int32, DTSUsageType)

Aplica-se a