查找报表定义架构版本 (SSRS)

报表定义文件为用于验证 rdl 文件的报表定义架构的版本指定 RDL 命名空间。 在报表创作环境(例如 SQL Server Data Tools (SSDT) 中的报表设计器、Visual Studio 或报表生成器)中打开 .rdl 文件时。 如果为先前的命名空间创建了报表,则会自动创建一个备份文件,并将报表升级到当前的命名空间。 如果保存升级后的报告定义,则同时还会保存转换后的 .rdl 文件。 这是升级报表定义的唯一方法。 报表定义本身在报表服务器上不升级。 已编译的报表在报表服务器上升级。 有关更多信息,请参见 Upgrade Reports

操作说明:确定报表的 RDL 架构版本

  1. 在可查看 XML 的应用程序(如记事本或 XML Notepad)中打开报表 .rdl 文件。

    XML REPORT 元素指定架构命名空间。 例如,下面的 Report 元素指定报表设计器的命名空间以及报表定义的命名空间。

    <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily" MustUnderstand="df">  
    

    最新的报表定义命名空间是 2016。 但是,最新发布的报表定义命名空间是 2010,由以下 URL 指定:https://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition

操作说明:确定报表设计器的 RDL 架构版本

  1. 打开一个新项目。 您选择的项目版本决定 RDL 架构的版本。 在 SQL Server 中,支持多个架构版本。 有关详细信息,请参阅 SQL Server Data Tools 中的部署和版本支持

  2. “项目” 菜单上,单击 “添加新项”。 此时将打开“添加新项”对话框。

  3. “模板” 窗格中,单击 “报表”

  4. “名称”中,键入报表名称,或接受默认名称。

  5. 单击“添加”。 报表设计器将在“设计”视图中打开一个新的空白报表。

  6. “视图” 菜单上,单击 “代码”。 该报告定义将显示为一个 XML 文件。

    XML REPORT 元素指定架构命名空间。 例如,下面的 Report 元素指定报表设计器的命名空间以及报表定义的命名空间。

    <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition/defaultfontfamily" MustUnderstand="df">  
    

    以下 URL 指定了报表定义命名空间: https://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition

操作说明:确定报表服务器的 RDL 架构版本

  • 在 Web 门户中,键入报表服务器的 URL。 例如,以下 URL 指定一个本地计算机上的报表服务器:

    https://localhost/reportserver/reportdefinition.xsd

    将在浏览器中打开 .xsd 文件。

    XML schema 元素指定架构命名空间。 例如,下面的架构元素指定三个命名空间:由 Visual Studio 内部使用的 targetNamespace 引用、架构自身 (xsd) 的 xsd 引用以及报表定义引用。 “年份”表示报表使用的架构的年份。 例如,2010 或 2016。

    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition" targetNamespace="http://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition" elementFormDefault="qualified">  
    

    以下 URL 指定了报表定义命名空间: https://schemas.microsoft.com/sqlserver/reporting/*year*/01/reportdefinition