我有一个包含多个报告的报告解决方案。到目前为止,我已经能够添加基于SPROC的数据集而没有任何问题。但是,当我尝试添加最新的数据集,并使用SPROC作为其查询类型时,当我单击刷新字段时,我收到以下错误: 超时已过期。操作完成之前经过的超时时间或服务器没有响应。
我在数据源属性>编辑>测试连接中测试了数据库连接,并且它运行正常。
我已在以下方面将超时时间增加到100:
SPROC在SQL数据库中运行良好。大约需要55秒。
还有其他想法吗? 感谢。
更新:我现在无法使用SPROC添加任何数据集。甚至认为SPROC在SQL中都运行良好!!!!!!
答案 0 :(得分:4)
答案 1 :(得分:2)
您的报告要记住的事情是,当它运行时,它将尝试运行所有数据集,以确保它们是可运行的,并且可以返回它们请求的数据。因此,通过单独运行每个proc,你实际上并没有与SSRS一样重复...而且说实话,不要打扰。
您可以尝试在报告运行时运行sp_who,或者甚至只需手动完成程序以查看它们共有的表。由于你的proc需要52秒才能返回其数据集,我将假设它做了一些繁重的工作。没有查询,没有人能够说出确切的问题是什么。
我建议使用NO LOCK查看是否可以解决您的问题。如果它确实那么你的触发器正在争夺数据并相互阻挡......可能是无限循环。使用NO LOCK不是解决方法。阅读它的作用,然后自己判断。
答案 2 :(得分:1)
我在存储过程中添加新添加的列也遇到了同样的问题。
通过以下方式克服了这个问题。
将存储过程更改为注释除最终选择命令之外的所有查询。
现在已经添加了新列,然后在sp。
中取消注释答案 3 :(得分:0)
我的解决方案是转到给定问题数据集的数据集属性,将查询粘贴到“查询”字段中,单击“刷新字段”,然后单击“确定”。