次の方法で共有


IDTSOutput90.ExclusionGroup Property

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

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

構文

'宣言
<DispIdAttribute(101)> _
Property ExclusionGroup As Integer
[DispIdAttribute(101)] 
int ExclusionGroup { get; set; }
[DispIdAttribute(101)] 
property int ExclusionGroup {
    int get ();
    void set ([InAttribute] int plExclusionGroup);
}
/** @property */
/** @attribute DispIdAttribute(101) */ 
int get_ExclusionGroup ()

/** @property */
/** @attribute DispIdAttribute(101) */ 
void set_ExclusionGroup (/** @attribute InAttribute() */ int plExclusionGroup)
DispIdAttribute(101) 
function get ExclusionGroup () : int

DispIdAttribute(101) 
function set ExclusionGroup (plExclusionGroup : int)

プロパティ値

IDTSOutput90 オブジェクトの ExclusionGroup です。

解説

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

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

使用例

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

public override void ProvideComponentProperties()
{
    IDTSInput90 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)
{
    IDTSInput90 input = ComponentMetaData.InputCollection.GetObjectByID(inputID);

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

    if(! buffer.EndOfRowset)
    {
        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 IDTSInput90 = 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 IDTSInput90 = ComponentMetaData.InputCollection.GetObjectByID(inputID) 
 Dim output1 As IDTSOutput90 = ComponentMetaData.OutputCollection(0) 
 Dim output2 As IDTSOutput90 = ComponentMetaData.OutputCollection(1) 
 If Not buffer.EndOfRowset Then 
   While buffer.NextRow 
     buffer.DirectRow(output1.ID) 
     buffer.DirectRow(output2.ID) 
   End While 
 End If 
End Sub

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

IDTSOutput90 Interface
IDTSOutput90 Members
Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace