我在SSRS 2012(Native)中有一个相对简单的报告,有2个报告参数。这两个都是文本类型参数,并且有一个由DataSet提供的可用值列表。
我尝试通过网址访问此报告,并指定这两个参数的值。
我使用的网址为
http://<hostname>/ReportServer/Pages/ReportViewer.aspx?/<path_to_report>/<report_name>&<param1>=<value1>&<param2>=<value2>&rc:Parameters=false&rs:ClearSession=true
这会导致错误消息
'param1'参数缺少值
我已经确认我肯定使用了正确的参数名称(不是提示名称)和值(而不是显示值)。
如果我从报告定义中的参数中删除可用值,那么它可以按照我的意愿工作,而不会更改URL。这是不可取的,但理想情况下,报告可通过报告管理器访问,用户将在其中显示可用值,并直接通过单独的Web应用程序中的URL。
我想在这里实现的目标是否可行或者这是URL参数的限制?
答案 0 :(得分:-1)
发生此问题的原因是您传递了&rc:Parameters=false
。
在报表服务器中为报表禁用此make参数。 如果你删除它,那么你将得到你的结果。
http://<hostname>/ReportServer/Pages/ReportViewer.aspx?/<path_to_report>/<report_name>&<param1>=<value1>&<param2>=<value2>&rs:ClearSession=true
更新了答案
是你的参数存储数据集中的任何值还是空的? 如果是,则可能存在您传递给参数的不匹配值的可能性。
例如: 如果我的参数具有可用值“ABC”并且您在url中传递“abc”,那么它将抛出值缺失错误。
要获得结果,您必须先设置&rc:Parameters=true
并检查参数值是否已设置。
然后你制作&rc:Parameters=false
。