Reporting services SSRS报告为空

Reporting services SSRS报告为空,reporting-services,Reporting Services,我开始学习报告服务。我做了我的第一份报告,它使用参数化存储过程作为数据源。不幸的是,即使当从ManagementStudio调用该过程时,该过程仍能正常工作,但报告结果却是空的。参数提示就在那里,我输入了应该有效的值。有没有办法查看传递给SQL server的内容(我在SQL server 2012 Express中使用VS 2012 PRO,所以我没有SQL Profiler…)?有没有显示错误的方法?好的,我终于找到了。存储的进程。接受一个可选参数: @DealID varchar(15)

我开始学习报告服务。我做了我的第一份报告,它使用参数化存储过程作为数据源。不幸的是,即使当从ManagementStudio调用该过程时,该过程仍能正常工作,但报告结果却是空的。参数提示就在那里,我输入了应该有效的值。有没有办法查看传递给SQL server的内容(我在SQL server 2012 Express中使用VS 2012 PRO,所以我没有SQL Profiler…)?有没有显示错误的方法?

好的,我终于找到了。存储的进程。接受一个可选参数:

@DealID varchar(15) = ''
我在where子句中测试它,如下所示:

WHERE (@DealID='') OR  (SA.Deal_ID = @DealID)
在数据集的参数设置中,我指定了默认值“”并将其设置为接受空值,并将其可见性设置为隐藏

结果表明,即使指定了默认值,@DealID参数也会变为null。我只是在注释掉WHERE子句后才意识到这一点,并最终获得了报告中的数据。我通过修改WHERE解决了这个问题,如下所示:

WHERE (@DealID='' or @DealID is null) OR  (SA.Deal_ID = @DealID)

您是否已经尝试在报表编辑器中预览数据集的查询结果?在所有表上方添加一个文本框,并将其设置为类似“看着我”的内容。如果它已打印,但其他控件未呈现,则表示您无法将数据发送到报表。您还可以使用工具| SQL Server Profiler->在SQL Studio中启动新跟踪来显示该实例上正在处理的所有命令。如果您在同一个框中有SSR,请不要选择。您可能希望选择事件选项卡,选择列筛选器按钮,选择“登录筛选器”节点,然后选择类似文本框作为您正在测试的用户名。谢谢您的评论。Filburt,我确实在查询设计器中尝试了预览,它成功了。在Irb中,标头呈现,因此记录集返回空。我没有服务器分析器,因为正如我提到的,我正在运行SQL 2012 Express,而Express版本没有分析器。