SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError)

  问题背景:在报表中一定要包含很多参数,这样报表才能灵活应用,那么这些参数有时候会通过aspx页面的code来传递参数,同时也有可能这些参数和权限有关,在某种情况下只能指定在固定的值,且这个值在报表的查询区域是不可见的。

SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError) - GreatWang - 追求属于自己的一切

  点击确定后,我们在报表设计器中预览,正常。【补充一下:最好选择“隐藏”选项,可能不会出现后面的错误】然后部署报表,在aspx.cs代码中实现这个参数的传递:

ReportParameter[] parameters = new ReportParameter[] {
                    new ReportParameter("InputType",Handler.RequestQueryString("InputType"))
                    };

ReportViewer1.ServerReport.SetParameters(_parameters);

  接下来,我们生成后,预览这个页面,同时传递了正确的InputType参数,结果出现了如下错误:

参数验证失败。不可能为所有参数提供有效值。 (rsParameterError)

SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError) - GreatWang - 追求属于自己的一切

 

 
  这个问题在百度、Google上查了好久,有的说是将指定值去掉、或者将默认值取消,都不行,最后在一篇文章中找到了相关的提示解决方案(原文:http://stackoverflow.com/questions/8119680/parameter-validation-failed-it-is-not-possible-to-provide-valid-values-for-all),总结一下,方法如下:
  我们打开报表服务器,进入报表目录中,打开刚才发布的报表,发现提示同样的错误,咦?怎么回事呢?接下来我们进入这个报表的管理界面,切换到参数标签,如图:
SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError) - GreatWang - 追求属于自己的一切
  就是这个地方的问题了,我们将“提示用户”选项√上,将“隐藏选项√上,然后输入显示文本,点击“应用”。再查看报表时,提示另外的消息了“I
  • nputType”参数缺少值"(这就对了)。我们再打开aspx页面时,传递的参数生效了、查询区也自动隐藏了,达到了显示和控制效果,如图:
  • SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError) - GreatWang - 追求属于自己的一切
     
      问题解决!

     

    posted @ 2012-07-20 23:20  great wang  阅读(1081)  评论(3编辑  收藏  举报