报告包含引用共享数据集的DataSet(采用参数)。
查询
select top 40 * from reportserver..executionlog3
order by timestart desc;
我可以看到数据集执行两次相同的参数!
有人可以告诉我如何解决它。
在上述查询输出中,只有那些引用共享数据集的报表数据集才会显示两次;每个其他单个报告数据集只出现一次。
另一个需要注意的重要事项是,在SQL Server Profiler中,我可以看到对shared-dataset-procedure进行了两次调用,但其中一个调用将参数作为nvarchar传递,另一个调用传递给字符串。
exec my_procedure @code=317
exec my_procedure @code=N'317'
上面的SQL Server Profiler发现没有帮助。我将两个数据集中的param的dataType更改为Integer,现在我可以在sql server profiler中看到两个具有完全相同的params的过程执行。