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

雨燕双飞 提交于 2019-11-30 13:01:39

问题


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?


回答1:


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.




回答2:


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



来源:https://stackoverflow.com/questions/36071175/can-i-control-the-version-of-new-ssdt-reports-in-visual-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!