次の方法で共有


ExclusionGroup プロパティ

IDTSOutput100 オブジェクトの ExclusionGroup プロパティを取得します。値の設定も可能です。

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

構文

'宣言
Property ExclusionGroup As Integer
    Get
    Set
'使用
Dim instance As IDTSOutput100
Dim value As Integer

value = instance.ExclusionGroup

instance.ExclusionGroup = value
int ExclusionGroup { get; set; }
property int ExclusionGroup {
    int get ();
    void set (int value);
}
abstract ExclusionGroup : int with get, set
function get ExclusionGroup () : int
function set ExclusionGroup (value : int)

プロパティ値

型: System. . :: . .Int32
IDTSOutput100 オブジェクトの ExclusionGroup です。

説明

ExclusionGroup プロパティは、2 つの出力が同じ IDTSInput100 オブジェクトに同期され、行を各出力に排他的に送信する場合に設定されます。両方の出力の SynchronousInputID プロパティと ExclusionGroup プロパティは同じ値である必要があります。除外グループを使用する場合は、このプロパティを 0 以外の値に設定する必要があります。それ以外の場合は、既定値の 0 のままにしておきます。

同じ同期入力および 0 以外の同じ除外グループが設定された複数の出力を持つデータ フロー コンポーネントは、実行中に、DirectRow メソッド (IsErrorOut プロパティが true の場合は DirectErrorRow メソッド) を使用して、入力 PipelineBuffer から出力の 1 つに行を送信します。

使用例

次のコード例では、データ フロー コンポーネントに同じ除外グループ内の 2 つの出力および同一の同期入力がある場合の、ExclusionGroup プロパティの使用法を示しています。

public override void ProvideComponentProperties()
{
    IDTSInput100 input = ComponentMetaData.InputCollection.New();
    Input.Name = "DTSSampleInput";

    IDTSOutput output = ComponentMetaData.OutputCollection.New();
    output.ExclusionGroup = 1;
    output.Name = "Output1";
    output.SynchronousInputID = input.ID;

    IDTSOutput output = ComponentMetaData.OutputCollection.New();
    output.ExclusionGroup = 1;
    output.Name = "Output2";
    output.SynchronousInputID = input.ID;
}
public override void ProcessInput(int inputID, PipelineBuffer buffer)
{
    IDTSInput100 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);

    IDTSOutput100 output1 = ComponentMetaData.OutputCollection[0];
    IDTSOutput100 output2 = ComponentMetaData.OutputCollection[1];

    while( buffer.NextRow())
    {
        // If criteria is met, direct the buffer row to output1.
        buffer.DirectRow(output1.ID);
        // Otherwise, direct the row to output2.
        buffer.DirectRow(output2.ID);
    }
}
Public  Overrides Sub ProvideComponentProperties() 
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection.New 
 Input.Name = "DTSSampleInput" 
 Dim output As IDTSOutput = ComponentMetaData.OutputCollection.New 
 output.ExclusionGroup = 1 
 output.Name = "Output1" 
 output.SynchronousInputID = input.ID 
 Dim output As IDTSOutput = ComponentMetaData.OutputCollection.New 
 output.ExclusionGroup = 1 
 output.Name = "Output2" 
 output.SynchronousInputID = input.ID 
End Sub 

Public  Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer) 
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(inputID) 
 Dim output1 As IDTSOutput100 = ComponentMetaData.OutputCollection(0) 
 Dim output2 As IDTSOutput100 = ComponentMetaData.OutputCollection(1) 
 While buffer.NextRow 
   buffer.DirectRow(output1.ID) 
   buffer.DirectRow(output2.ID) 
 End While 
End Sub