다음을 통해 공유


IDTSVirtualInput100 인터페이스

정의

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
특성
구현

예제

다음 코드 예제에서는 프로그래밍 방식으로 데이터 흐름 태스크를 빌드할 때 가상 입력을 사용하여 구성 요소에서 사용하는 열을 선택하는 방법을 보여 줍니다.

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

다음 코드 예제에서는 입력이 경로에 연결 될 때 가상 입력에서 모든 DT_STR 열을 선택 하는 사용자 지정 데이터 흐름 구성 요소를 보여 줍니다.

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  

설명

IDTSVirtualInput100은 개체의 IDTSInput100 메서드를 GetVirtualInput 호출하여 검색됩니다. 이 속성에는 VirtualInputColumnCollection 그래프의 업스트림 구성 요소에서 사용할 수 있는 열이 포함됩니다.

프로그래밍 방식으로 데이터 흐름 태스크를 빌드할 때 가상 열은 구성 요소에 대해 의 CManagedComponentWrapperClass메서드를 SetUsageType 호출하여 선택됩니다.

사용자 지정 데이터 흐름 구성 요소를 작성하는 개발자는 가상 입력을 사용하여 사용 가능한 업스트림 열을 검색하고 구성 요소에 따라 가상 컬렉션의 열을 기반으로 입력에 열을 추가합니다.

가상 입력은 업스트림 열을 반영하므로 가상 입력 또는 가상 입력 컬렉션의 열에 대한 수정은 자체에 IDTSOutput100 영향을 주지 않습니다.

속성

Description
ID
IdentificationString
IsSorted
Name
ObjectType
SourceLocale
VirtualInputColumnCollection

메서드

SetUsageType(Int32, DTSUsageType)

적용 대상