mmajcica / DeploySsrs

Build-Release task for VSTS/TFS that manages Microsoft's SQL Server Reporting Services
MIT License
21 stars 21 forks source link

Incompatible SSRS Server versions #3

Closed maike9 closed 6 years ago

maike9 commented 6 years ago

I have a rdl that was created using VS2017 and latest SSDT version. When I try to deploy the RDL to a SSRS 2014 instance. I get the following error.

##[error]Exception calling "CreateCatalogItem" with "7" argument(s): "The definition of this report is not valid or supported by this version of Reporting Services. The report definition may have been created with a later version of Reporting Services, or contain content that is not well-formed or not valid based on Reporting Services schemas. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' which cannot be upgraded."

When we deploy using VS2017 we have to set the target server version to "SQL Server 2008 R2, 2012 or 2014". If I set the target server version to "SQL Server 2016 or later" I get...

The report server at 'http://{server}/reportserver' is an earlier version than the one specified in the TargetServerVersion property. The RDL files generated by the build process are incompatible with the report server. Change TargetServerVersion to '' then Clean and Rebuild to generate RDL with matching schema.

What versions of SSRS does this tool support? Is there a way to set a target server version?

maike9 commented 6 years ago

Upon further investigation, I found that I had been deploying the RDL files in the project. I added a VSTS MSBuild step that used the TargetServerVersion setting in the project to build the RDL files in the proper version for SSRS 2014. I then published the build RDLs and used the DeploySSRS task to deploy them to the SSRS server. Works like a champ so far. Thanks! Saved me from having to write a custom PS script to do the same thing!

mmajcica commented 6 years ago

You were quicker than me. I saw this message popping up this afternoon, but I was busy with a customer. This was also my initial idea, as deployment has nothing to do with the format of the artifacts that are deployed. Good thing these days is also the fact that Reporting project is base on MSBuild and there is no need anymore to run it with devenv.com, thus you can easily build it and pass eventual arguments to the process.

Have fun