6

我有一个包含多个报告的报告解决方案。到目前为止,我已经能够毫无问题地添加基于 SPROC 的数据集。但是,当我尝试添加最新数据集并为其查询类型使用 SPROC 时,当我单击刷新字段时,我收到以下错误:超时已过期。在操作完成之前超时时间已过或服务器没有响应。

我已经在数据源属性>编辑>测试连接中测试了数据库连接,它工作正常。

我在以下方面将超时时间增加到 100:

  1. 数据源的连接字符串,即 - Connect Timeout=100
  2. 工具>选项>数据库工具>查询和视图设计器。取消长时间运行的查询设置为 100。
  3. 工具>选项>数据库工具>表和数据库设计器>选中“覆盖表设计器更新的连接字符串超时值”。事务超时设置为 100

SPROC 在 SQL 数据库中运行良好。大约需要 55 秒。

还有其他想法吗?谢谢。

更新:我现在无法使用 SPROC 添加任何数据集。甚至认为 SPROC 在 SQL 中都可以正常工作!!!!!!

4

4 回答 4

5

如果您使用的是 Report Builder,您也可以在 DataSet 中增加超时。

报表生成器中的数据集超时设置

于 2015-10-07T12:22:29.120 回答
2

在存储过程中添加新添加的列时,我也面临同样的问题。

从以下方式克服这个问题。

将存储过程更改为注释除最终选择命令之外的所有查询。

现在已经添加了新列,然后取消注释 sp.

于 2015-08-11T09:52:21.543 回答
1

报告要记住的是,当它运行时,它将尝试运行所有数据集,以确保它们是可运行的,并且可以返回它们请求的数据。因此,通过单独运行每个 proc,您实际上并不是在尝试使用 SSRS 进行复制……老实说,不要打扰。

您可以尝试在报告运行时运行 sp_who,或者甚至只是手动执行这些过程以查看它们有哪些共同的表。由于您的 proc 需要 52 秒才能返回其数据集,因此我将假设它正在做一些繁重的工作。如果没有查询,没有人将能够说出确切的问题是什么。

我建议使用 NO LOCK 来查看是否可以解决您的问题。如果是这样,那么您的 proc 正在为数据而战并相互阻塞……可能处于无限循环中。使用 NO LOCK 不是解决办法。阅读它的作用并自行判断。

于 2012-08-21T19:18:03.607 回答
0

我的解决方案是转到给定问题数据集的数据集属性,将查询粘贴到查询字段中,单击刷新字段,然后单击确定。

于 2017-06-09T16:43:39.597 回答