Share via

RDL Schema Not being recognized

Casey Harris 21 Reputation points
2022-07-25T18:55:35.133+00:00

SQL Server Version: 2014 Enterprise

Greetings,

I am attempting to save to an SSRS report server after making a modification to a report RDL in Report Builder. I am being met with the following error:

System.Web.Services.Protocols.SoapException: The definition of this report is not valid or supported by this version of Reporting Services. The report definition may have been created with a later version of Reporting Services, or contain content that is not well-formed or not valid based on Reporting Services schemas. Details: The report definition has an invalid target namespace*'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' which cannot be upgraded.
at Microsoft.ReportingServices.Library.ReportingService2010Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, ItemType ItemType, CatalogItem& ItemInfo, Warning[]& Warnings)
at Microsoft.ReportingServices.Library.ReportingService2010Impl.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)
at Microsoft.ReportingServices.WebServer.ReportingService2010.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)

The interesting thing is that in the RDL, the schema line is as follows (which, as you can see is not the same as what is mentioned in the error):

<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">

Can anyone offer a clue as to why I am getting this error and/or how to resolve it?

Thanks In Advance,
Casey

SQL Server Reporting Services
SQL Server Reporting Services

A SQL Server technology that supports the creation, management, and delivery of both traditional, paper-oriented reports and interactive, web-based reports.

0 comments No comments

Answer accepted by question author
  1. Isabellaz-1451 3,616 Reputation points
    2022-07-26T02:01:20.31+00:00

    Hi @Casey Harris

    Only when you save the report as rdl file on report builder or complile the report on the report server,can the report definition been upgrade.

    A report definition file specifies the RDL namespace for the version of the report definition schema that is used to validate the rdl file. When you open an .rdl file in a report authoring environment such as Report Designer in SQL Server Data Tools (SSDT), Visual Studio, or Report Builder. If the report was created for a previous namespace, a backup file is automatically created, and the report is upgraded to the current namespace. If you save the upgraded report definition, you have saved the converted .rdl file. This is the only way to upgrade a report definition. The report definition itself is not upgraded on a report server. The compiled report is upgraded on a report server.

    From official documemt :https://learn.microsoft.com/en-us/sql/reporting-services/reports/find-the-report-definition-schema-version-ssrs?view=sql-server-ver16

    You can try the follow steps to change the 2016 rdl to 2010 rdl manully:

    I recently ran into this issue as well. I found that I only needed to change two items in the .rdl file in question.

    Change FROM:

    Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"

    TO:

    Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition"

    Unlike other responses, I needed 2010 instead of 2008. I would check an .rdl file that you have already deployed.

    Remove the "ReportParametersLayout" block.
    Note: If I removed ReportSections block, it did not work as others have noted.

    I refer to this thread :https://stackoverflow.com/questions/38902037/ssrs-report-definition-is-newer-than-server

    And here is rdl xml schema for version 2010/01 ,in case you need it:
    https://learn.microsoft.com/en-us/openspecs/sql_server_protocols/ms-rdl/3428e690-a348-4ec7-8a6a-8efb42d2cdee?redirectedfrom=MSDN

    Best Regards,
    Isabella

    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Mehman Guliyev 5 Reputation points
    2023-05-23T12:30:54.8133333+00:00
    1 person found this answer helpful.
    0 comments No comments

  2. Casey Harris 21 Reputation points
    2022-07-26T13:10:46.643+00:00

    Thank you so much for you responses @IsabellaZhangMSFT-7746 and @Joyzhao-MSFT .

    I found a way to resolve the issue soon after I posted the problem. I used a prior version of Report Builder to modify the report and was allowed to save it to the Report Server.

    After reading your responses, I remember having to do that some years back when the company I worked for upgraded their version of Visual Studio and we didn't realize that it would then upgrade all of our report RDLs to a new schema version.

    Thanks again!
    Casey

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.