Deploying Report Builder 3.0 reports on 2005 Report Server
November 4, 2011 Leave a comment
How fun is it to use new software? As a developer you always want to use the latest software, and in many cases it’s backwards compatible. This (unfortunately) isn’t the case with Report Builder 3.0 and SQL Server 2005 Reporting Services. This is a “by design” issue, but it’s such an annoying “feature”. If you try to deploy a Report built in RB 3.0, you will get the error:
“The report definition is not valid. Details: The report definition has an invalid target namespace ‘http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition’ which cannot be upgraded. (rsInvalidReportDefinition)”
In most cases you will copy-paste the tables or objects from RB 3.0 to the Business Intelligence Development Studio (BIDS), and save it again. But sometimes you just want to take the shortcut, and that is possible as well. As always, I have to mention that I don’t guarantee anything, but it worked for me several times.
The first step is to open the .RDL file with a text editor, and replace the following line of XML:
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
Step two is removing a set of nodes in the RDL, that is not supported by versions older then Report Server 2008:
And it’s closing tags:
Don’t remove the text inside these tags, only remove the tags themselves!!!
If you follow these steps, you will be able to deploy a “new” Report to an “old” Report Server without weird copy-paste actions.