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

症状

请考虑以下情况:

  • 你有一个报表定义语言(RDL)文件,该文件包含 Microsoft SQL Server 2008 R2 Reporting Services 中的 Tablix 控件。

  • 将 "行组" 或 "列" 组添加到 " Tablix " 控件,然后使用具有数值数据类型的列将组表达式设置为组数据。

  • 此列包含的值不在 Int32 数据类型的范围内。 例如,列的值为 9000001777400270

在这种情况下,当你尝试生成报表时,将收到以下错误消息:

本地报表处理期间出错。 处理报表期间出错。 值对于 Int32 太大或太小。

解决方案

累积更新信息

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 版本

解决方法

若要解决此问题,请将数字数据类型转换为 Double 数据类型或 Int64 数据类型。 为此,请按照下列步骤操作:

  1. 双击 " 行组 " 或 "列组 " 窗格中的组以打开 属性。

  2. 在 " 常规 " 选项卡上,将组表达式更改为以下 系统。 Double 数据类型表达式:

    CDbl (Fields!<字段名称>。取值或者,将组表达式更改为以下 系统 Int64 数据类型:

    CLng (Fields!<字段名称>。取值

状态

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

参考

有关数据类型的详细信息,请访问以下网站:

有关 "小数" 结构的常规信息

有关 "Int32" 结构的常规信息

有关 "Int64" 结构的常规信息

有关 "Double" 结构的常规信息

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈意见!

×