when you try to upload RDL (report definition language) file into your SSRS reports ,you will hit with the following error “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. (rsInvalidReportDefinition) Get Online Help”
Why does this error occur ?
If the RDL file report created using the X (in this case 2016) version of reporting tool that is higher than your SQL reporting services installed (<2016) ,then you will have this issue.
In my case, am running on SQL server 2014 with reporting services installed on my SCCM server and trying to upload SCCM report that was created on version 2016.
How do we make this report work on older version of reporting ? You need to make 2 changes in to the RDL file to get it working.
1. Open the RDL file using notepad or other editing tools ,you will find something like below in the beginning of the code.
change the version from 2016 to 2010 .
2. Search for "ReportParametersLayout" in file and remove the whole block (This code is created on 2016 version of visual studio) .
As shown below ,remove the whole block and save the report.
Now try to upload the RDL file into the reporting service ,change the data source and run the report.
Conclusion:
change the SQL version on the RDL file and remove the ReportParametersLayout to get the report working.