将查询字符串参数传递给 s-s-rS 报告

Posted

技术标签:

【中文标题】将查询字符串参数传递给 s-s-rS 报告【英文标题】:Pass query string parameter to s-s-rS report 【发布时间】:2014-11-02 20:01:32 【问题描述】:

我在 s-s-rS (SQL Server 2012) 中制作了一份报告,其中包含一个名为“STUDENT_ID”的参数。此报表部署在报表服务器上并且工作正常。我的报告网址类似于:

http://myserver/Reports/Pages/Report.aspx?ItemPath=%2fExportReport%2fStudentReport

因此,当我在浏览器中打开上述 URL 时,它会询问我输入的 STUDENT_ID,然后按“查看报告”并显示报告。有没有办法将 STUDENT_ID 参数直接传递给报告而不是先询问?例如如下所示:

http://myserver/Reports/Pages/Report.aspx?ItemPath=%2fExportReport%2fStudentReport&STUDENT_ID=5

我试过了,但它不起作用。有什么想法吗?

【问题讨论】:

你能澄清一下it doesn't work吗?报告是否显示带有STUDENT_ID 参数但您仍然需要按View Report 或者当您使用STUDENT_ID 参数时报告根本不显示? 好的,我知道要让它像这样工作,我需要使用不同的 URL,即 http:///ReportServer?//&STUDENT_ID=5 【参考方案1】:

在 s-s-rS 20216 报告管理器中,我必须将报告中的参数(例如 p0453_RefNo)设置为隐藏。之后,我能够通过 URL 将值传递给 RDL。 RDL 文件的名称是 rpt045_EP6_Complaints。无需包含 .rdl 文件扩展名。参数名称区分大小写。例如:

http://redacted/Reports/report/redacted/rpt045_EP6_Complaints?p0453_RefNo=0612400

【讨论】:

【参考方案2】:

使用以下 URL 有效。

http://<your server>/ReportServer?/<folder>/<reportname>&STUDENT_ID=5

【讨论】:

http:///ReportServer/ 为我抛出 404。我们需要在服务器上启用一个选项吗? 最后有没有写文件夹名和完整的报告名? 谢谢弗兰克。我做了,有和没有 URL 编码,因为文件夹路径包含斜杠,报告名称包含空格。 @RichardD 那么问题解决了吗? 遗憾的是没有。每次404。在我们安装 s-s-rS 时,不得安装/配置“ReportServer”路由。

以上是关于将查询字符串参数传递给 s-s-rS 报告的主要内容,如果未能解决你的问题,请参考以下文章

从 s-s-rS 中的表达式将参数传递给数据集

URL 未将参数传递给 s-s-rS 报告

将一个表字段作为参数传递给 s-s-rS 报告中的另一个表

需要解释将 s-s-rS 多值参数传递给 SQL 的工作原理

将 xml 数据作为存储过程的参数传递给 s-s-rs

s-s-rS 和 PostgreSQL:如何传递可选参数?