Partilhar via


IDTSVirtualInput100 Interface

Definição

Representa as colunas disponíveis para um componente do componente de upstream.

public interface class IDTSVirtualInput100 : Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSObject100
[System.Runtime.InteropServices.Guid("FECB6DEB-654E-43EE-B87D-35F88555172E")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSObject100
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
[System.Runtime.InteropServices.Guid("3D8056A8-CA41-48E4-A3C2-74542DF68634")]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSObject100
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
[System.Runtime.InteropServices.Guid("937BE9E1-F78D-4582-92EC-355CCF399702")]
public interface IDTSVirtualInput100 : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSObject100
[<System.Runtime.InteropServices.Guid("FECB6DEB-654E-43EE-B87D-35F88555172E")>]
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
type IDTSVirtualInput100 = interface
    interface IDTSObject100
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
[<System.Runtime.InteropServices.Guid("3D8056A8-CA41-48E4-A3C2-74542DF68634")>]
type IDTSVirtualInput100 = interface
    interface IDTSObject100
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
[<System.Runtime.InteropServices.Guid("937BE9E1-F78D-4582-92EC-355CCF399702")>]
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

Obtém ou define a descrição de um objeto IDTSVirtualInput100.

ID

Obtém ou define a ID de um objeto de entrada virtual.

IdentificationString

Obtém uma cadeia de caracteres que identifica exclusivamente o IDTSVirtualInput100.

IsSorted

Obtém um valor que indica se as colunas de entrada são classificadas no IDTSVirtualInput100.

Name

Obtém ou define o nome de um IDTSVirtualInput100.

ObjectType

Obtém o DTSObjectType de um IDTSVirtualInput100.

SourceLocale

Obtém a LCID (ID da localidade) da origem do IDTSVirtualInput100.

VirtualInputColumnCollection

Obtém o IDTSVirtualInputColumnCollection100 de um IDTSVirtualInput100.

Métodos

SetUsageType(Int32, DTSUsageType)

Mapeia um objeto de coluna de entrada virtual e define seu tipo de uso.

Aplica-se a