IDTSOutput100.ExclusionGroup 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置 ExclusionGroup 对象的 IDTSOutput100 属性。
public:
property int ExclusionGroup { int get(); void set(int value); };
[System.Runtime.InteropServices.DispId(101)]
public int ExclusionGroup { [System.Runtime.InteropServices.DispId(101)] get; [System.Runtime.InteropServices.DispId(101)] set; }
[<System.Runtime.InteropServices.DispId(101)>]
[<get: System.Runtime.InteropServices.DispId(101)>]
[<set: System.Runtime.InteropServices.DispId(101)>]
member this.ExclusionGroup : int with get, set
Public Property ExclusionGroup As Integer
属性值
ExclusionGroup 对象的 IDTSOutput100。
- 属性
示例
下面的代码示例演示了当数据流组件在同一排除组中具有两个输出和相同的同步输入时如何使用 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
注解
当 ExclusionGroup 两个输出同步到同 IDTSInput100 一对象时,将设置该属性,并且你想要将行仅定向到一个输出或另一个输出。 这两个输出必须对其属性及其ExclusionGroup属性具有相同的值SynchronousInputID。 如果要使用排除组,则必须将此属性设置为非零值;否则,保留默认值为零。
在执行期间,具有具有相同同步输入的多个输出的数据流组件以及使用DirectRow该方法将输入PipelineBuffer中的同一非零排除组定向到其中一个输出的数据流组件,或者当属性为true
该方法时IsErrorOut,将行定向到其中DirectErrorRow一个输出。