如何确定 SSRS 2008 报告的 MaxHttpCollectionKeys 值?

问题描述 投票:0回答:1

根据 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 配置文件中)。注意 - i在执行测试之前重置报表服务器),发现当我选择六个值(1 - 6、2 - 7 - 六个值的任意组合)但不是 7 时,报表将运行。这表明之前的集合中包含 29 个项目抓取参数值。此外,我设置 MaxHTTPCollectionKeys = 30,发现我只能为要运行的报告的参数选择单个值。当我设置 MaxHTTPCollectionKeys = 29 时,我根本无法运行报告(多值参数不能为空)。

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

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

重申一下,我的目标是导出某种方法来计算 MaxHTTPCollectionKeys 的值应该是多少,以满足我的报告,显然是着眼于最坏情况的报告,该报告将具有最大数量的可能参数值。有人可以提供一些计算指南吗?

谢谢大家

http ssrs-2008
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.