SSRS最后执行数据集

时间:2015-11-11 12:50:53

标签: c# reporting-services ssrs-2008

SSRS有很多数据集,订单如下

Dataset1
Dataset2
Dataset3     
Dataset4 -- This deletes some data from above Dataset Tables
NewDataset1
NewDataset2

我在Dataset4之后添加了新的数据集。数据集4调用DELETE过程,它在添加NewDatasets之前运行良好。

现在,我认为它按照它在SSRS中显示的顺序执行是吗? 如果是这样的话,那么在不删除该数据集的情况下,总是最终运行DataSet4的解决方案(在NewDataset1和NewDataset2之后)。

2 个答案:

答案 0 :(得分:3)

根据this MSDN blog post

  

默认情况下,数据集并行执行

正如arctile中所提到的,它还会突出显示不是所需行为的情况,例如何时

  

您正在执行带有副作用的查询(例如更新语句)并需要特定的数据集执行序列

听起来像上面发生的事情(如果DataSet4)正在执行数据删除。

最后正如本文所述,强制数据集执行以一个接一个的特定顺序执行(Serializsation)

  

在报表设计器中打开数据源对话框,然后选择"使用单个事务"复选框

enter image description here

更改数据集的顺序(如果需要)打开查看代码(右键单击报告名称 - >查看代码),并物理地更改XML以将数据集剪切并粘贴到正确的顺序

答案 1 :(得分:1)

执行序列中的数据集您可以序列化数据集执行转到报表设计器中的数据源对话框,然后选择Use Single Transaction复选框。

  

选择后,不再使用使用相同数据源的数据集   并行执行。它们也作为交易执行,即   如果任何查询无法执行,整个事务就是   回滚。

     

数据集执行顺序的顺序由。确定   RDL文件中数据集外观的自上而下顺序,也是如此   对应于报表设计器中显示的顺序。

请务必根据需要按顺序创建数据集,最后留下数据集4。

同时检查this