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_Conditional Statements - Fatal编程技术网

SSIS中的条件语句

SSIS中的条件语句,ssis,conditional-statements,Ssis,Conditional Statements,是否可以在平面文件目标活动中使用条件语句 条件是,当SQL查询生成行时(或当行数大于0时),它会将结果导出到txt文件 我尝试在ADO源活动之后使用RowCount和条件拆分活动,但即使没有检索到行,它仍会生成报告 以下是数据流活动的屏幕截图: 正如Justin所暗示的——首先在一个数据流任务中自己获取行数。然后创建另一个单独的数据流任务,该任务创建并加载平面文件,但将“已启用”属性设置为基于行数(使用表达式)。这是我的猜测,从未使用过rowcount 与此类似,除了第二步使用表达式启用或禁用

是否可以在平面文件目标活动中使用条件语句

条件是,当SQL查询生成行时(或当行数大于0时),它会将结果导出到txt文件

我尝试在ADO源活动之后使用RowCount和条件拆分活动,但即使没有检索到行,它仍会生成报告

以下是数据流活动的屏幕截图:


正如Justin所暗示的——首先在一个数据流任务中自己获取行数。然后创建另一个单独的数据流任务,该任务创建并加载平面文件,但将“已启用”属性设置为基于行数(使用表达式)。这是我的猜测,从未使用过rowcount

与此类似,除了第二步使用表达式启用或禁用


请记住,如果源数据集很大,这将非常缓慢。实际上,最好从表中运行SELECT COUNT(*),并将结果加载到变量中。这样,您就不会对每一行进行计数,也不会将不必要的数据流式传输到SSI中。

是否将行计数的结果加载到变量中?在条件拆分中是否使用此变量?请张贴你正在使用的表达。还要调试代码并确保变量按预期填充。这实际上是我的测试解决方案。rowcount的结果存储在@rowcount中,我也在条件拆分中使用这个变量。但是,即使没有检索到任何记录,它仍然会生成文件。Ado net源您使用的是什么数据库?不能在同一数据流中与变量一起使用行计数元素。。。。row count元素只有在他使用的数据流完成后才起作用…检查一下Justin提到的这一点-首先在一个数据流任务中获得自己的行数。然后创建另一个单独的数据流任务,该任务创建并加载平面文件,但将“Enabled”属性设置为基于行数。这是我的猜测,从未使用过rowcount。如果源很大,这将非常缓慢。实际上,最好从表中运行SELECT COUNT(*),并将结果加载到变量中。