Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I control the version of new SSDT reports in Visual Studio?

Tags:

I am using the Visual Studio SSDT BI add-on to create reports for SQL Server Reporting Services. The project I've created is configured to target SQL Server versions 2008/2012/2014, since those are the target SQL Servers our customers have.

However, the report files being created within Visual Studio all appear to be targeting SQL Server 2016. If I copy the rdl files to another server and upload them via the browser, I am told that they are from a newer version of SSRS and can't be uploaded.

The problem is the twofold:

  1. The <Report> tag contains a new 2016 namespace that replaces the 2010 one that existed in previous versions:

    <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/2016/01/reportdefinition">
    
  2. The new file format includes a parameters layout section that is defined in the 2016 namespace, but not in the 2010 one:

     <ReportParametersLayout>
                .
                .
                .
     </ReportParametersLayout>
    

If I change the namespace back to 2010 and remove the ReportParametersLayout section, the report works just fine in SQL 2012, but Visual Studio will put it back the next time I open the report.

(Interestingly, if I deploy the reports directly from VS, I get a warning that the parameter layout is unsupported in 2012 and being removed, which implies that Visual Studio is fixing up the report definitions on the fly.)

Is there any way to force VS to leave the report files in the previous versions format?

like image 697
Michael Edenfield Avatar asked Mar 17 '16 20:03

Michael Edenfield


People also ask

How do I check Ssdt version in Visual Studio?

To confirm SSDT is installed, click on Help / About Microsoft Visual Studio and look for SQL Server Data Tools in the list. The latest version of SSDT is 14.0. 60525.0.

How do I edit SSRS reports in Visual Studio?

Right click Reports and add an existing item. Select an existing RDL file to add it to the project. Double click it to open it. You will now be able to see and edit the report in Visual Studio.

How do I change the target server version in SSRS?

I think quickest way is to go to the Solution Explorer window, right click on your PROJECT and go to Properties. It will open the deployment window and the very last option should be TargetServerVersion that will allow you to change the Target version.


2 Answers

This is by design.

See https://connect.microsoft.com/SQLServer/Feedback/Details/2103422

Posted by Riccardo [MSFT] on 12/18/2015 at 5:07 PM
By design, TargetServerVersion affects build output files, not source files. You deploy the build output files (which you can grab from the \bin\Debug or \bin\Release folder within your project) rather than the source files.

like image 135
Rami A. Avatar answered Sep 21 '22 15:09

Rami A.


Had the same issue using SSDT version 14.0.60305.0.

1) I was able to change the xmls namespace attribute in the <report> tag of each of my reports to match the target environment. Reference https://msdn.microsoft.com/en-us/library/cc627465.aspx on how to determine the RDL Schema version of the target server.

2) I changed the TargetServerVersion in the project properties pages to "SQL Server 2008 R2, 2012, or 2014". Reference http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/ to see how to open the project properties page.

HTH

like image 33
aEon' Avatar answered Sep 23 '22 15:09

aEon'