2

我有一个从存储过程中提取数据的报告,但是当我在没有任何数据的情况下运行报告时,只会出现标题。我可以在 SQL Profiler 中跟踪过程的执行,当我将执行语句及其参数复制到 SQL Management Studio 中时,该语句运行并从同一个数据库返回数千行数据。

数据集超时设置为 0 并且没有给出超时错误,所以我认为它与返回的数据量无关,但是在管理工作室中运行命令确实需要 10 分钟。

我该如何解决这个问题?

更新:问题似乎与报告正在从使用存储的proc“查询类型”的数据集中收集数据的事实有关,因为当我输入exec语句作为文本查询类型时,它确实返回了一些数据,但我可以'运行报表时不要更改参数。

4

2 回答 2

1

有几件事可以尝试:

  1. 在报告服务之外测试程序以查看结果是否出来。如果没有,看看程序是否有问题。

  2. 对于内存,该过程的结果需要采用 ref_cursor、对象或数组类型的表的形式。

  3. 运行 10 分钟可能是个问题。我建议缩减程序以更快地运行,即使您削减了很多只是为了测试它是否可以更快地响应。一个示例可能是使用相同的返回类型但返回一个虚拟表。

于 2013-01-22T22:57:53.263 回答
1

不知道为什么这解决了它,但我玩了一段时间 .RDL 之间的绑定,它似乎已经解决了这个问题。在报表生成器中,它看起来完全一样,但根据 SVN,我几乎重写了整个内容。

于 2013-01-25T11:07:33.143 回答