要跳过脚本组件中的记录,需要使用异步输出创建脚本组件.默认情况下,脚本组件使用同步输出,这意味着输入到脚本的每一行也将是脚本的输出.
如果您正在使用SQL Server 2005,我认为您必须从一个新的Script组件开始,因为一旦您使用了Script组件,就无法从同步更改为异步.在SSIS for SQL Server 2008中,您可以将脚本组件从同步切换到异步.
编辑脚本组件,然后选择"输入和输出"选项卡.在树视图中选择输出缓冲区.选择SynchronousInputID属性并将值更改为None.在树视图中选择"输出列"分支.您必须使用"添加列"按钮为每个输入列创建一列.
现在您可以编辑脚本了.在处理行的过程中,您将添加一些代码来控制跳过和输出行.如果要跳过一行,您将使用Row.NextRow()命令,其中Row是输入缓冲区的名称.这是一个例子:
If Row.number = 5 Then
Row.NextRow()
End If
Run Code Online (Sandbox Code Playgroud)
在此示例中,将跳过在数字列中具有5的行.
应用其他转换逻辑后,您需要指示该行应转到输出.这是通过Output0.AddRow()命令启动的,其中Output0是输出缓冲区的名称.AddRow函数创建下一个输出缓冲区,该缓冲区将前一行推出Script组件.创建新行后,必须为新行中的列指定值.
Output0Buffer.AddRow()
Output0Buffer.number = Row.number
Run Code Online (Sandbox Code Playgroud)
此示例向缓冲区添加一个新行,并将输入缓冲区中的数字值分配给输出缓冲区中的数字列.
| 归档时间: |
|
| 查看次数: |
8034 次 |
| 最近记录: |