SQL Server 2005 Reporting Services 中的重大更改

更新日期: 2006 年 12 月 12 日

本主题介绍将破坏自定义应用程序、脚本或报表的 Reporting Services 功能的变化。

不支持页眉或页脚中的钻取操作或书签链接

在 SQL Server 2005 和 SQL Server 2005 Service Pack 1 中,Reporting Services 不支持页眉或页脚中的钻取操作或书签链接。对于在 SQL Server 2000 Reporting Services 中创建的报表,这是一项重大更改。

在 Service Pack 2 中,此问题已部分解决。按需运行的报表支持页眉和页脚中的钻取操作,但以快照形式运行的报表不支持页眉和页脚中的钻取操作。必须重新创建在页眉或页脚中包含钻取或书签链接的快照才能获得钻取功能:

  1. 启动报表管理器或 Management Studio。
  2. 找到报表并打开该报表的“执行”属性页。
  3. 选中**“在保存此页时创建报表的快照”**复选框。
  4. 单击**“应用”**。
  5. 对于以快照形式运行且页眉或页脚中有钻取或书签链接的所有报表,重复这些步骤。

不支持 SQL Server 2000 中的报表服务器 WMI 提供程序

Reporting Services 包括一个 Windows Management Instrumentation (WMI) 提供程序,用于以编程的方式配置报表服务器的运行环境。Reporting Services 的 SQL Server 2005 版本包括一个全面替代早期版本的全新版的 WMI 提供程序。此 SQL Server 版本不支持 SQL Server 2000 中的原始版本。

对数据处理扩展插件的新身份验证限制

此 Reporting Services 版本对于如何为某些数据处理扩展插件处理凭据有新的限制:

  • 不能将 Analysis Services 数据源连接配置为使用数据库凭据。如果使用 ADOMD 包装,连接将失败。
  • 不能将 XML 数据源连接配置为使用数据库凭据。如果未指定凭据,并且未定义无人参与的执行帐户,则将通过匿名访问发出请求。
  • 如果用连接字符串传递数据库凭据,并且未配置无人参与的执行帐户,则第三方 .NET 数据处理扩展插件(例如,DB2.NET、Oracle ODP.NET 和 Teradata)在进行数据处理时将显式失败。
  • 除非配置了无人参与的执行帐户,否则在所有情况下,实现 IDBConnection(但不实现 IDBConnectionExtension)的自定义数据处理扩展插件进行数据处理时将显式失败。
  • 在由服务帐户发起连接请求时(即,使用服务帐户的安全上下文与数据源建立网络连接),Reporting Services 都将在发送请求之前从服务帐户删除管理员特权。

若要配置无人参与的执行帐户,请使用 Reporting Services 配置工具或 rsconfig 实用工具。有关详细信息,请参阅指定用于自定义数据处理扩展插件的连接配置用于无人参与的报表处理的帐户

如果表达式包含对象引用,将会导致报表编译错误

如果表达式包括 Me.Value 引用,则对于使用表达式来设置项的 Action 属性的报表,将不再进行编译。升级在 Action 属性表达式中包括 Me.Value 的报表将导致编译器错误,错误的内容类似于“文本框‘textbox1’的 Value 表达式包含错误: [BC30456] ‘Value' 不是 'ReportExprHostImpl.textbox1_TextBoxExprHost.DataValue1_DataValueExprHost' 的成员。(rsCompilerErrorInExpression)”。

若要避免这些错误并升级报表,必须重写 Action 表达式,用实际值表达式替换 Me.Value。下例演示了如何用实际值表达式替换文本框样式的表达式中的 Me.Value=iif(Fields!Name.Value = 0, "Solid", "None")

对多值参数的支持可能破坏报表中的单值参数

多值参数支持是此版本中引入的新功能。如果使用的是旧的 SOAP 端点,并且您的代码获得或设置多值参数,那么,现在您将重新获得多值参数。在早期版本中,如果指定了多个参数,只会返回第一个参数。请注意,升级之后,对于您认为是单值的参数,可能会返回其他参数。请务必检查现有的 Render 方法调用,以确定它们使用单值参数还是多值参数。还应当测试所有具有参数的报表,以验证单值参数是否可以按预期的那样工作。

通过 SetReportParameters 更新参数

在早期版本中,如果要更新参数属性,必须重新指定其所有设置。如果报表包括基于查询或基于表达式的参数,则更新单个参数属性通常意味着必须重新发布该报表,否则,将导致报表在参数属性更改之后丢失基于查询的默认值。

在此版本中,可以更新参数的特定属性,而不必重置其所有属性。如果未指定 DefaultValues 属性,则默认值不再设置为空。请注意,如果使用旧 SOAP 端点的应用程序代码或脚本处理空引用,则此更改可能会破坏这些代码或脚本。

为多值参数添加“全选”成员

在 SQL Server 2005 Reporting Services 报表中,在您为多值报表属性创建可用值列表时会自动添加“全选”复选框。选中****“全选”复选框将选中所有可用值。清除“全选”复选框将清除所有可用值。如果升级到 SQL Server 2005 Service Pack 1 (SP1),“全选”复选框将不再可用。在 SQL Server 2005 Service Pack 2 (SP2) 中,已经恢复了“全选”复选框。将报表创作客户端升级到 SP2 后,在报表设计器中预览报表时会在可用值下拉列表中自动添加“全选”复选框。将报表服务器升级到 SP2 后,可以使用报表服务器工具(报表管理器、报表生成器和 SQL Server Management Studio)查看使用“全选”功能的所有现有报表和新报表。无需重新发布现有报表即可恢复****“全选”功能。如果您升级了工具但未看到“全选”复选框,则可能连接到了 SP1 报表服务器。

引用 Microsoft SQL Server Analysis Services 数据处理扩展的扩展属性

在 SQL Server 2005 Reporting Services 报表中,如果需要引用 Analysis Services 数据源中某个字段的扩展 Key 属性,则需要使用自定义字段语法 Fields!FieldName("MEMBER_KEY")。升级到 SQL Server 2005 Service Pack 1 (SP1) 后,则此语法将不再返回 Key 值。因此也就不再需要或支持此解决方法,而是必须将对 Key 属性的扩展字段语法的引用更改为 Fields!FieldName.Key 或 Fields!FieldName("Key")。

更改历史记录

发布日期 历史记录

2006 年 12 月 12 日

新增内容:
  • 不支持钻取操作。
更改的内容:
  • 在 SP2 中,已恢复“全选”选项。

请参阅

概念

升级 Reporting Services

其他资源

升级 SQL Server 组件
Reporting Services 的向后兼容性
向后兼容性

帮助和信息

获取 SQL Server 2005 帮助