参数验证失败。无法为所有参数提供有效值。 (rsParameterError)sql reporting 2008

时间:2011-11-14 09:43:01

标签: c# .net sql-server ssrs-2008 reportviewer

我正在使用sql报告和书面查询

SELECT * FROM users WHERE created_by = @createdby

并在代码隐藏文件后使用此代码传递参数来调用此报告。

param[0] = new ReportParameter("@createdby", "1");
       reportviewer.ServerReport.SetParameters(param);

也在rdl文件中。我已将此参数“Set Parameter visibilty”设置为隐藏。 它在使用查询构建器执行此查询的情况下正常工作,出现了一个定义查询参数框并询问查询参数。而且效果很好。

但使用.cs文件传递此参数时。 它给出错误“参数验证失败。无法为所有参数提供有效值。(rsParameterError)”。

4 个答案:

答案 0 :(得分:11)

根据你的一些谷歌搜索我发现了一个可能的候选人:

“导航到远程报告服务器管理页面(http:///Reports/Pages/Folder.aspx)。向下钻取并将光标悬停在报告上,打开菜单并选择管理。

在打开的页面上,选择参数并确保选中隐藏框以查看相关参数。

应用更新,并进行测试。“

如果有效,请告诉我。

答案 1 :(得分:1)

我在使用查询驱动的参数时遇到了类似的问题,因此我可以动态地在页脚中设置值。

它可以在VS中运行,在报表服务器上 - 在需要时手动输入参数值,并作为订阅。

这是从第三方批处理引擎调用的 - 我可以设置选择器和详细报告(选择器将运行查询以构建子报告将运行的预订列表)并可以在GUI中单步执行但是,在处理时(引擎也会在每个报告生成的客户端数据库上设置值),子报告会因此问题而失败,当你有几个参数对任何人都没用时

我将报表服务器置于详细模式(https://support.microsoft.com/en-us/help/2146315/recommended-configuration-for-verbose-logging-in-reporting-services),然后显示哪个参数生成错误。

此参数是从存储过程的共享数据源驱动的数据。将参数设置为接受NULL - 即使没有空值,也可以解决问题(并且它也设置为内部)。

我知道这已经有几年了,但谷歌搜索结果却很高,所以我想我会把这个添加到其他可能遇到这个问题的人身上。

史蒂夫

答案 2 :(得分:0)

您可能遇到不同参数的问题(该消息非常有用)。在我们的例子中,我们设置了一个默认值,该默认值未应用于错误消息

中未提及的另一个参数

我们发现使用报表生成器保存参数并不总是设置正确的空值,空白和默认值设置。

我们发现我们必须在报表管理器界面上设置那些工作,因为XML和它们的“参数”设置之间的链接没有排队

  1. http://server/Reports/Pages/Folder.aspx?ViewMode=List
  2. 开始查找报告
  3. 管理报告(右下拉箭头)
  4. 选择参数
  5. 调整设置
  6. 应用
  7. 我们在尝试设置空白或空默认值时也遇到了问题

    希望这有助于某人

答案 3 :(得分:0)

我遇到了此错误,但是以上解决方案均无济于事。

我从SSRS删除了报告,然后从Visual Studio重新部署了它。

这解决了问题。