我有两个数据集,即Dataset1和Dataset2。
数据集1 是"存储过程"的查询类型。 sp" TestProcpk"被选中,参数"值"映射到它。
TestProcpk查询:
Create procedure TestProcpk @value varchar(20)
as
insert into testProc select @value
数据集2 使用上表,如下所示(数据集2字段用于报表显示):
select value from testProc
where value = @value
预期
注:table" testProc"是空的。
在运行报告时,我选择参数值为" ABC"。报告应显示值" ABC"。
为什么数据集2没有反映出价值" ABC"在同一时间?任何其他解决方法来实现这一目标。
由于
答案 0 :(得分:1)
我认为您的问题是由于SSRS并行运行事务。运行数据集2时,表格不会从数据集1创建。
在数据源属性中,在常规标签上,有一个处理查询时使用单个事务的设置。这会强制查询在单个事务中一次运行一个(非常适合使用临时表)。选中此框,它应该按预期工作。它将按照数据集的顺序执行(自上而下)。
欲了解更多信息: http://blogs.msdn.com/b/robertbruckner/archive/2008/08/07/dataset-execution-order.aspx