1
votes

I have an existing RDL report that I want to convert to an RDLC report for use in an MVC application.

According the the MSDN Site the way to convert it is to rename the .rdl file to .rdlc, include it in the project and then use a ReportViewer control to select the datasource.

Being MVC I don't have a ReportViewer control on my page, I was using this post to help me render the report into the Response stream.

I've renamed the rdl to rdlc and included it in my project but I get the following error when trying to open it:

The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgraded.

Any ideas how I can convert the rdl to rdlc without having to re-write it?

3

3 Answers

4
votes

You cannot convert a SQL Server 2008 Reporting Services report .RDL into .RDLC - Microsoft only knows why.....

See Bill Vaughn's Retraction: The ReportViewer Control does NOT support SQL Server 2008 RDL in Local Mode for some expert insight.

In short: right now, Microsoft doesn't have a working story for converting RDL to RDLC in Reporting Services 2008.

1
votes

To correct the earlier answer: you cannot render an SSRS 2008 RDL file with the VS 2005 or VS 2008 ReportViewer control in local mode, because the schema has changed in SSRS 2008, but the control was not brought up to par. VS 2010 comes with a ReportViewer control that apparently supports the SSRS 2008 schema.

If the schema were supported, no conversion would be necessary (other than renaming the file from RDL to RDLC, which is how it worked in a VS 2005 environment).

See my question on MSDN about this issue.

0
votes

Actually, you can convert an .RDL to .RDLC. Copy the report to your report folder on your project, rename the extension from .RDL to RDLC. Just make sure you have the Microsoft.ReportViewer.Webforms reference. I have created a ton of reports, using the Report builder, built and tested them there, then copied them to my project (MVC). Just my 2 cents.