KB2407088-修复:当你在报表查看器 Web 部件中打开钻取报表时,如果在 SQL Server 2008 R2 Reporting Services 中使用 SharePoint 集成模式,则会发生 "ArgumentNullException" 错误。

适用于: SQL Server 2008 R2Visual Studio 2010

Microsoft 以一个可下载文件的形式分发 Microsoft SQL Server 2008 R2 修补程序。 由于修补程序是累积的,因此每个新版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。

症状


请考虑以下情况:
  • SharePoint 集成 模式下运行 Microsoft SQL Server 2008 R2 Reporting SERVICES (SSRS)。
  • 将 Microsoft SharePoint 2010 网站与 SSRS 2008 R2 集成。
  • 在调试模式下运行 SharePoint 网站。
  • 将报表部署到 SharePoint 网站上的文档库。 报表包含 drillthough 报表。
  • 将报表查看器 Web 部件添加到 SharePoint 页面以显示报表。
  • 单击 "钻取" 链接以在 SharePoint 页面中打开钻取报表。
在这种情况下,你会收到类似于以下内容的错误消息:
消息: ArgumentNullException: Value 不能为 null。参数名称: panelsCreated [6] 行:129Char:12Code:0URI: http://ServerName/ScriptResource.axd?d=eIta46jBcyLp_5IiiP-xPYuM8iTgFWIJYJ1hdQQhytwzGZrxHUy3xfhvGgvjnG17BofUwEtaQ7Yik54n3MpmW77MX1gjt2yj-Zgalo8nheYxZrca6zgrx0VoNFUyBrAw0&t = ffffffffec2d9970
注意 当你使用 SharePoint 集成 模式时,通常会出现此问题。 此外,如果满足以下条件,则在使用 本机 模式时也可能会发生此问题:
  • 使用与网页中的 Visual Studio 2010 一起发布的 WebForms ReportViewer控件。 
  • 将控件的 ShowToolbar 属性设置为 False
  • 在调试模式下运行网站。
  • 将页面的某些元素配置为侦听 PageRequestManager 事件。

原因


出现此问题的原因是 ReportViewer 控件不能正确生成报表。

解决方案


累积更新信息

SQL Server 2008 R2

此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2345451 SQL Server 2008 R2 的累积更新程序包4
注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 发布 SQL Server 2008 R2 后发布的 SQL Server 2008 R2 版本

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

解决方法


若要解决此问题,请在 SharePoint 网站的 web.config 文件中关闭调试模式。 若要执行此操作,请在 web.config 文件中将编译标记的 "调试" 属性设置为false 。下面是演示编译标记的debug属性设置为false的文本示例:
<?xml version="1.0" encoding="utf-8"?><<configuration>...  <system.web>...<compilation defaultLanguage="c#" debug="false" ... />

参考


有关 SQL Server 的增量服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 从 SQL Server 团队提供的增量服务模型可提供报告问题的修补程序
有关 SQL Server 更新的命名架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明