【问题标题】:How to determine value of MaxHttpCollectionKeys for an SSRS 2008 report?如何确定 SSRS 2008 报告的 MaxHttpCollectionKeys 值?
【发布时间】:2012-01-24 22:32:12
【问题描述】:

根据http://support.microsoft.com/kb/2661403,最近推出 Microsoft 安全公告 MS11-100 的 Windows 更新已将 MaxHttpCollectionKeys 的默认值设置为 1000。这导致我公司的一些 SSRS 2008 报告出现一些问题。虽然很容易简单地使用更高的值来使报告工作,但我想更多地了解它是如何工作的。我知道这个特定的设置是 HTTP 的东西,严格来说不是 SSRS 的东西,但是这个 SSRS 是我调查的上下文。我的目标是推导出某种方法来计算 MaxHTTPCollectionKeys 的值应该是什么来满足我的报告,显然是查看具有最多可能参数值的最坏情况报告。

所以我的主要问题是 - 关于 SSRS 报告,什么构成了一个被计数并与设置 MaxHTTPCollectionKeys 进行比较的项目?显然,报告的所有参数的值总数存在一定的相关性,但这究竟是如何工作的呢?

我做了一些测试报告(使用VS2008)并在我的本地2008 R2报告服务器上运行它们,发现MaxHTTPCollectionKeys的值与运行时传递的参数值的总数不完全匹配。我的一份测试报告仅包含一个 INTEGER 类型的多值参数,我为其定义了一个允许值列表 - 整数 1 - 10。我设置 MaxHTTPCollectionKeys = 35 的值(在报告管理器 Web 配置文件中。注意 - 我在执行我的测试之前重置报告服务器)并发现当我选择六个值(1 - 6、2 - 7 - 六个的任意组合)而不是 7 时报告将运行。这表明之前的集合中包含 29 个项目抓取参数值。此外,我设置 MaxHTTPCollectionKeys = 30 并发现我只能为要运行的报告的参数选择一个值。当我设置 MaxHTTPCollectionKeys = 29 时,我根本无法运行报告(多值参数不能为空)。

然后我更改了报告,发现通过添加第二个参数(基本上是第一个多值 int 类型的副本,其中包含 10 个 int 的列表),基数从 29 上升到 30。也就是说,当我设置 MaxHTTPCollectionKeys = 35 我只能在我的两个参数之间选择总共五个值(每个参数的项目数量的各种组合没有任何影响)。

我做了一个完全没有参数的第三次测试报告(所有包含的报告都是显示当前时间的文本框),发现当 MaxHTTPCollectionKeys = 27 时报告工作,当它是 26 时它不起作用。

重申一下,我的目标是推导出某种方法来计算 MaxHTTPCollectionKeys 的值应该是什么,以满足我的报告,显然是查看具有最多可能参数值的最坏情况报告。任何人都可以提供一些指导来计算这个吗?

谢谢大家

【问题讨论】:

    标签: http ssrs-2008


    【解决方案1】:

    【讨论】:

    • 感谢您的回复,目前它们在地面上有点薄。我以前遇到过这个问题,但希望能得到一些想法来为自己计算出这个数字。我的问题是受影响的报告是我公司作为产品(带有报告的数据库应用程序)的一部分制作的报告,并且我们的一些客户出现了问题,因此不能在他们的生产系统上安装此模块.但是,我显然可以在我们的开发和集成环境中试一试,并尝试复制客户端条件(参数值的数量)。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多