SSRS Report Definition Newer Than Server

I created several reports in Visual Studio 2015 with all the latest updates. However, when I try to deploy reports, I get this message:

The definition of this report is invalid or is supported by this version of Reporting Services.
11:40:28 Error
A report definition can be created with a later version of Reporting Services or contain content that is not 11:40:28 Error
Well-formed or invalid based on Reporting Services schemas. Details: report definition has an invalid purpose
11:40:28 Error
namespace ' http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition ' that cannot be updated.

The first lines of the .rdl file are configured as follows:

<?xml version="1.0" encoding="utf-8"?> <Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily"> 

Can I change the schema definition? If so, why? I tried only from 2016 to 2014 or in 2012, but did not work.

Is there a place where I can find valid definitions?

+8
sql-server reporting-services ssrs-2012
source share
4 answers

I really ran into a similar problem when the change I needed to make led to the โ€œUndocumented Error / Incorrect RDL Structureโ€ error in 2016, so I edited the RDL file so that I could open it in an earlier version and make my changes . Not too complicated, but you need to make a couple of tag changes.

For new reports, you probably should just use an older version, but for existing reports you can do this: (I returned in 2008)

Actually wrote some super-artistic code to do this as part of a blog post, but manual editing is quite simple.

+23
source share

The settings below should be set to the correct version of the target server and RDL taken from the bin directory. (or use the right mouse button click).

The accepted answer is much more complicated / error prone / is unlikely to work across several versions of ssrs and should be applied every time you change rdl.

enter image description here

+9
source share

I ran into the same problem, and this is how I solved it,

  • Set the TargetServerVersion property in the report project properties as the old version of the report server.
  • Create a project.
  • Get the report in the bin folder and deploy it to the old report server.

The source report format and namespace will be updated to the latest version. But reports in bin folders will be built for compatibility with the target version of the report server.

+3
source share

I recently ran into this problem. I found that I need to change only two elements in the .rdl file.

  • Edit 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 answers, I needed 2010 instead of 2008. I would check the .rdl file that you have already deployed.

  1. Remove the ReportParametersLayout block.

Note. If I deleted the ReportSections block, this did not work, as others noted.

+3
source share

All Articles