Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定SSIS数据集中的行数_Ssis_Ado - Fatal编程技术网

如何确定SSIS数据集中的行数

如何确定SSIS数据集中的行数,ssis,ado,Ssis,Ado,在SSIS包中,我经常遇到这样一种情况:运行SQL命令从ADO连接返回一组行。有些情况下,我希望根据返回的行数进行分支。ado结果集存储在SSIS“对象”数据类型中。SSIS表达式或脚本组件中是否有方法获取该行数 不要使用执行Sql任务,而是使用如下数据流任务 使用源组件检索数据 使用rowcount组件将rowcount存储到变量中 使用记录集目标组件并将其存储在原始变量(system.object类型)中 然后返回到控制流并按计划继续,使用rowcount变量来分支控制流。您可以在执行SQL

在SSIS包中,我经常遇到这样一种情况:运行SQL命令从ADO连接返回一组行。有些情况下,我希望根据返回的行数进行分支。ado结果集存储在SSIS“对象”数据类型中。SSIS表达式或脚本组件中是否有方法获取该行数

不要使用执行Sql任务,而是使用如下数据流任务

  • 使用源组件检索数据
  • 使用rowcount组件将rowcount存储到变量中
  • 使用记录集目标组件并将其存储在原始变量(system.object类型)中

  • 然后返回到控制流并按计划继续,使用rowcount变量来分支控制流。

    您可以在执行SQL任务后创建一个优先约束,将对象数据类型变量@[User::objectvariable]>0作为优先约束中的表达式。但是,在执行SQL任务中,您将获得对象变量的resultset。

    这是一个很好的答案,也是我学习数据流任务的一个很好的起点。三年后,我非常感激!很高兴听到这个消息!谢谢@MattAkers@Nanda在发布答案之前试着测试一下,你会发现错误的。