IDTSOutput100.ExclusionGroup 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
属性值
对象的 IDTSOutput100 ExclusionGroup。
- 属性
示例
下面的代码示例演示当数据流组件在同一排除组中有两个输出和相同的同步输入时,如何使用 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);
}
}
See Also
IDTSOutput100 Interface
Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace
Return to top
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
注解
当两个输出同步到同一对象时,将排除组属性设置为同 IDTSInput100 一个对象,并且你想要将行完全定向到一个输出或另一个输出。 这两个输出必须对其 SynchronousInputID 属性及其排除组属性具有相同的值。 如果要使用排除组,则必须将此属性设置为非零值;否则,保留默认值为零。
在执行期间,具有多个输出的数据流组件具有相同的同步输入和相同的非零排除组使用DirectRow该方法将输入PipelineBuffer中的行定向到其中一个输出,或者当属性为 true 时IsErrorOut,DirectRow该方法。