[转]SSIS高级转换任务—行计数
2014-03-06 14:31
225 查看
本文转自:/article/4751483.html
在SSIS中的Row Count转换可以在数据流中计算数据源的行数。这种任务必须将行数保存在一个变量中。这种任务在你不想将数据行数保存在一个物理表中时会很有用。例如在ConditionalSplit任务中使用多个RowCount记录有多少行被分离出来,每个Row Count将使用变量记录分支中的数据行数,可以将这个变量值记录在数据库中,作为邮件信息发送出去,或者在下一个步骤中使用。
一样这个任务需要使用高级编辑器,这个更加简单,只需要添加一个变量来存储行数。现在设想一个任务只有在数据流中的数据行数大于0的情况下才会执行,可以将此类推到任何按照不同条件执行task 的情况,在这里我们只简单举例说明情况。
创建一个包命名为RowCountExample,添加一个Data Flow task
添加一个Int32类型的变量MyRowCount,保证变量在的范围是整个包
添加一个OLE DB DataSource将他指向数据库AdventureWorks中的表ErrorLog
添加一个RowCount任务,双击打开编辑界面设置VariableName属性为MyRowCount,最终界面如下图1
![](http://pic002.cnblogs.com/images/2011/72678/2011061920563776.png)
图1
切换到Control Flow界面添加一个Execute SQL Task,设置连接到表AdventureWorks,设置SQLStatement为SELECT 1。这个任务没有任何意义只是用来演示RowCount的用法
将Data Flow task和Execute SQL task 连接起来,右击他们之间的连线选择编辑
修改Precedence Constraint 中设置Evaluation Operation为Expression,设置表达式为@MyRowCount>0。最终界面如图2
![](http://pic002.cnblogs.com/images/2011/72678/2011061920582063.png)
图2
执行这个包发现Execute SQL任务不会执行,这是因为ErrorLog表中没有一行数据,如果随意向ErrorLog表中添加以行数据这个包就可以正确执行了。
在SSIS中的Row Count转换可以在数据流中计算数据源的行数。这种任务必须将行数保存在一个变量中。这种任务在你不想将数据行数保存在一个物理表中时会很有用。例如在ConditionalSplit任务中使用多个RowCount记录有多少行被分离出来,每个Row Count将使用变量记录分支中的数据行数,可以将这个变量值记录在数据库中,作为邮件信息发送出去,或者在下一个步骤中使用。
一样这个任务需要使用高级编辑器,这个更加简单,只需要添加一个变量来存储行数。现在设想一个任务只有在数据流中的数据行数大于0的情况下才会执行,可以将此类推到任何按照不同条件执行task 的情况,在这里我们只简单举例说明情况。
创建一个包命名为RowCountExample,添加一个Data Flow task
添加一个Int32类型的变量MyRowCount,保证变量在的范围是整个包
添加一个OLE DB DataSource将他指向数据库AdventureWorks中的表ErrorLog
添加一个RowCount任务,双击打开编辑界面设置VariableName属性为MyRowCount,最终界面如下图1
![](http://pic002.cnblogs.com/images/2011/72678/2011061920563776.png)
图1
切换到Control Flow界面添加一个Execute SQL Task,设置连接到表AdventureWorks,设置SQLStatement为SELECT 1。这个任务没有任何意义只是用来演示RowCount的用法
将Data Flow task和Execute SQL task 连接起来,右击他们之间的连线选择编辑
修改Precedence Constraint 中设置Evaluation Operation为Expression,设置表达式为@MyRowCount>0。最终界面如图2
![](http://pic002.cnblogs.com/images/2011/72678/2011061920582063.png)
图2
执行这个包发现Execute SQL任务不会执行,这是因为ErrorLog表中没有一行数据,如果随意向ErrorLog表中添加以行数据这个包就可以正确执行了。
相关文章推荐
- SSIS高级转换任务—行计数
- [转]SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性
- SSIS高级转换任务—模糊分组
- SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性
- SSIS高级转换任务—模糊查找
- SSIS高级转换任务—渐变维度(Slowly Changing Dimension)
- SSIS高级转换任务—OLE DB命令
- SSIS高级转换任务—OLE DB命令
- SSIS高级转换任务—关键词抽取
- SSIS高级转换任务—关键词查找
- SSIS高级转换任务—导出列
- SSIS高级转换任务—执行SQL语句
- SSIS高级转换任务—导入列
- SSIS高级转换任务—导入列
- SSIS数据转换组件_复制转换、数据转换、行计数
- 6_C# 高级编程(第六版)学习笔记——第6章 运算符和类型强制转换
- 科学计数法如何转换成普通的计数方式??
- Oracle任务调度的高级选项
- SSIS常用的包—数据流任务
- 解决SSIS中的脚本任务无法调试的问题