SyntaxHighlighter

Thursday, April 10, 2014

Microsoft SSRS Error: The report parameter is read-only and cannot be modified

So one of my scheduled SSRS (SQL Server Reporting Services) reports that was called with GET query parameters in the URL started failing today. It started giving this message:
Unknown error generating/adding reports
I checked the SSRS logs (in my case in C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles) and found a message I have never seen before and was not anticipating:
The report parameter 'PARAM' is read-only and cannot be modified. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ReadOnlyReportParameterException: The report parameter 'PARAM' is read-only and cannot be modified.
Note that PARAM was substituted for the actual parameter name to protect the innocent. Bizarre, right? This happened on a column that was previously hidden from the user in the SSRS Report Manager. It would run just fine in SSDT (SQL Server Data Tools).

One thing I had noticed is that when I logged in, someone had applied updates to the SSRS server (or perhaps it was an automatic update). Aside from that communication slip-up between admins, I wonder if it's related? Microsoft released a bulletin a few months ago regarding this.

Here is the basic solution:

  1. Go into the SSRS Report Manager web interface.
  2. Find the report.
  3. Right click on the report and click Manage.
  4. Go to the Parameters tab.
  5. Uncheck the Hide and Prompt User checkboxes on the affected parameters.
  6. Apply the changes.
  7. Recheck the Hide parameter.
  8. Apply the changes.
  9. Test your report using it's parameterized URL to see if the problem is solved. 

Simple!