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

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

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

 
  

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

ReportViewer1.ServerReport.SetParameters(_parameters);

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

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

 

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



http://wguorun.blog.163.com/blog/static/16306238201262011319520/

你可能感兴趣的:(BI商业智能)