【问题标题】:Large number of values in ssrs parameter giving error while viewing report查看报告时 ssrs 参数中的大量值给出错误
【发布时间】:2013-10-31 14:29:27
【问题描述】:

我正在通过asp.net reportviewer查看SSRS报告,其中有4个多值参数,其中两个包含600多个值。

报告正确加载,但是当我点击查看报告按钮时,它给出“sys.webforms.pagerequestmanagerservererrorexception”错误。

我使用了以下设置并重新启动了报告服务,但它无法正常工作。

<appSettings>
   <add key="aspnet:MaxHttpCollectionKeys" value="10000" />
   <add key="aspnet:MaxJsonDeserializerMembers" value="10000" />
</appSettings>

如果我在这两个参数中限制查询前 50 个,报告工作正常。

请帮忙。

【问题讨论】:

    标签: asp.net reporting-services


    【解决方案1】:

    如果报表查看器依赖查询字符串进行呈现,这可能是查询字符串大小的问题:例如,在 IE 中,此限制为 2048 个字符。

    不过,我认为您可能不应该传递 600 个参数。一种可行的选择是创建一个临时表,用您的值填充它并更改报告以从中读取,而不是接收多个参数。

    【讨论】:

    • 我不是每次都传递 600 个参数,首先我在隐藏参数的帮助下检查计数,如果是 600,我不会在查询中传递它。
    • 对不起,我很困惑。我认为只有当您传递超过 600 个值时才会出现此问题。
    【解决方案2】:

    作为一种解决方法,或许可以尝试拆分这些参数以减少单个下拉列表中的值数量。例如,Cities A-H, Cities I-P, Cities R-Z

    【讨论】:

      【解决方案3】:

      现在解决了。让我分享一下,这样它也可以帮助其他人。

      我仅在 Report Server web.config 中添加了问题中提到的 appsetting,现在我已将其添加到使用 Report viewer 的 ASP.NET 网站的 web.config 中,并且现在工作正常。

      感谢大家的回复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 1970-01-01
        • 2014-07-22
        • 1970-01-01
        • 2015-11-30
        • 1970-01-01
        相关资源
        最近更新 更多