2017-05-03 68 views
0

我有一个问题与2报告都出于同样的原因我使用SSRS/SQL 2014.我的存储过程需要2个日期并返回一个非常基本的数据集,只有2列名称和一个号码。如果我在SSMS中运行SP,它可以很好地工作,但如果我将它放入报告中,报告只会继续运行,不会失败,但不会返回任何数据。最初我在报告中有一个矩阵,但是要回到基础,我只想尝试从数据集中返回最上面的一个名称,但报告再次运行。我已经检查过,以确保用于运行报告的帐户具有权限,并且可以在其他报告中使用该权限,但对于此帐户没有任何反应,并且我已经用尽了其他方式的想法。我已经重建了这个报告几次,我可以看到SP很好,并将字段名称还原,但没有进一步成功。我在Visual Studio和SSRS报告构建器中构建了该报告。我很欣赏这有点含糊,但只是寻找一些进一步的想法尝试。 谢谢SSRS报告无法运行存储过程

+0

你可以发布存储过程吗? –

+1

首先尝试从设计人员手动执行查询。在Visual Studio中右击数据集名称,选择'query',然后单击'!'按钮,在提示时添加参数值并查看会发生什么。如果它工作正常,那么很可能参数被错误地传递/解析。如果它不起作用,则在SQL服务器框(SQL Profiler)上运行一个跟踪并查看服务器本身正在执行的查询。在此发布测试结果。 –

回答

0

这可能是你的存储过程中有一个打开的事务。这不会阻止存储过程在SSMS中运行,但会阻止呈现SSRS报告。根据您的过程的开始,您的存储过程应以最小分号(;)或可能END/COMMIT/COMMIT TRAN结尾。

0

对不起延迟回复,但只是刚到办公室。感谢所有的建议,我在确定答案之前,确实经历了他们。

我没有通过报告手动通过变量,并没有得到任何东西,当检查分析器时,我可以看到他们正确地通过。

我拿出输出并粘贴到SSMS中,但是当我通过一个较小的日期范围时,最初我获取信息,虽然有两个日期范围的数据。

我以为我会这么做,因为我多年前记得类似的问题,我实际上标记了SP并重新编译并在SSMS中运行它,然后在Visual Studio和报告服务器上运行原始报告现在一切工作正常。我唯一的假设是,执行计划已被破坏。我希望这可以帮助别人。

+0

感谢您的解决方案。这个问题被称为“参数嗅探” –