IDTSVirtualInput100 インターフェイス

上流コンポーネントからコンポーネントが利用できる列を表します。

名前空間:  Microsoft.SqlServer.Dts.Pipeline.Wrapper
アセンブリ:  Microsoft.SqlServer.DTSPipelineWrap (Microsoft.SqlServer.DTSPipelineWrap.dll)

構文

'宣言
<GuidAttribute("9944F684-49C4-4354-AB7F-EE422A650E0E")> _
Public Interface IDTSVirtualInput100 _
    Inherits IDTSObject100
'使用
Dim instance As IDTSVirtualInput100
[GuidAttribute("9944F684-49C4-4354-AB7F-EE422A650E0E")]
public interface IDTSVirtualInput100 : IDTSObject100
[GuidAttribute(L"9944F684-49C4-4354-AB7F-EE422A650E0E")]
public interface class IDTSVirtualInput100 : IDTSObject100
[<GuidAttribute("9944F684-49C4-4354-AB7F-EE422A650E0E")>]
type IDTSVirtualInput100 =  
    interface 
        interface IDTSObject100 
    end
public interface IDTSVirtualInput100 extends IDTSObject100

IDTSVirtualInput100 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ Description IDTSVirtualInput100 オブジェクトの説明を取得します。値の設定も可能です。
パブリック プロパティ ID 仮想入力オブジェクトの ID を取得します。値の設定も可能です。
パブリック プロパティ IdentificationString IDTSVirtualInput100 を一意に識別する文字列を取得します。
パブリック プロパティ IsSorted IDTSVirtualInput100 の仮想入力列を並べ替えるかどうかを指定する値を取得します。
パブリック プロパティ Name IDTSVirtualInput100 の名前を取得します。値の設定も可能です。
パブリック プロパティ ObjectType IDTSVirtualInput100 の DTSObjectType を取得します。
パブリック プロパティ SourceLocale IDTSVirtualInput100 のソースのロケール ID (LCID) を取得します。
パブリック プロパティ VirtualInputColumnCollection IDTSVirtualInput100 の IDTSVirtualInputColumnCollection100 を取得します。

先頭に戻る

メソッド

  名前 説明
パブリック メソッド SetUsageType 仮想入力列オブジェクトをマップし、使用法の種類を設定します。

先頭に戻る

説明

IDTSVirtualInput100 を取得するには、IDTSInput100 オブジェクトの GetVirtualInput メソッドを呼び出します。 VirtualInputColumnCollection プロパティには、グラフの上流コンポーネントから利用できる列が含まれます。

データ フロー タスクをプログラムによって作成している場合は、CManagedComponentWrapperClassSetUsageType メソッドを呼び出すことによってコンポーネントの仮想列が選択されます。

カスタム データ フロー コンポーネントを作成している開発者は、仮想入力を使用して利用可能な上流列を検出し、コンポーネントによっては、仮想コレクションの列に基づいて入力に列を追加します。

仮想入力には上流列が反映されるため、仮想入力または仮想入力コレクションの列を変更しても、IDTSOutput100 自体に影響はありません。

使用例

次のコード例は、プログラムでデータ フロー タスクを作成するとき、仮想入力を使用してコンポーネントが使用する列を選択する方法を示しています。

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

次のコード例は、入力がパスに接続されると、仮想入力からすべての 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

関連項目

参照

Microsoft.SqlServer.Dts.Pipeline.Wrapper 名前空間