Introduction:
When working with SQL Server Reporting Services (SSRS), you may encounter an error message stating, "The definition of this report is not valid or supported by this version of Reporting Services." This error can occur when attempting to upload an RDL (Report Definition Language) file into your SSRS reports. In this article, we will explore why this error occurs and discuss possible solutions.
Why Does This Error Occur?
The error message indicates that the RDL file you are trying to upload was created using a version of the reporting tool that is newer than the version of SQL Reporting Services installed on your server. In other words, if the RDL file was generated using a higher version (in this case, 2016) of the reporting tool than what your SQL Server is running (SQL Server 2014), you will encounter this issue.
Explanation:
Each version of Reporting Services comes with its own features, schemas, and target namespaces that define the structure and functionality of reports. These schemas and namespaces ensure compatibility and consistent interpretation of the report definitions within the reporting platform.
When you attempt to upload an RDL file, the system compares the target namespace specified in the file with the version of Reporting Services it supports. In the case of an incompatible target namespace, such as 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition,' the system recognizes that the report definition cannot be upgraded to match the current version.
Consequently, the system assumes that the report definition either contains content that is not well-formed or is not valid based on the schemas of the installed version. As a result, it throws the error message mentioned, preventing the upload of the RDL file.
Resolving the Issue:
To make the report work on an older version of Reporting Services, you need to make two changes in the RDL file:
1.Open the RDL file using a text editor such as Notepad or any other editing tool. Look for the following line at the beginning of the code:
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition"
Change the version from "2016" to "2010"
2. Search for the block of code that contains "ReportParametersLayout" in the RDL file. This block of code is specific to reports created in the 2016 version of Visual Studio.
As shown below ,Remove the entire block of code related to "ReportParametersLayout" from the RDL file. It should look similar to the following:
Save the modified RDL file.
After making these changes, try uploading the modified RDL file into the Reporting Services and update the data source if necessary. You should now be able to run the report successfully on the older version of Reporting Services.
Conclusion:
Change the SQL version in the RDL file and remove the ReportParametersLayout to get the report into working state.
13 Comments
This SQL query work but it only lits 5 Windows 10 machines
Hi,
Did you validate if your has any filters to limit few results? can you post your query?
Thanks,
Eswar
Thank you very much for this very clear and simple instruction!!! It solved my problems.
Thank You so much man, been struggling with this for 2 days.
Thank you.
I just did it! It worked!!! Thank you – thank you – thank you!!!
I am using visual studio 2019 and sql server 2016. After making above changes, RDLC report now shows the new error -"A data source instance has not been supplied for the data source... message. If I go back and add back data source again, version of report is now changed back 2016. So I am cycling between same 2 errors. Any suggestions much appreciated
Hi,
after you make the changes, did you change the data source to the correct one?
Thanks,
Eswar
Thank you so much for your helpful work.
Pingback: Error while uploading a report – oraerr.com
Thank You so much Eswar for this resolution!!
Glad ,it helped!
Thanks,
Eswar
Thank you so much, is working