Friday, July 22, 2011

SSRS: Deployment Problems With Large Data Models

This blog post describes how to solve the "Maximum request length exceeded" error when deploying large data models; the "maximum" size of the XML file the Report Server is expecting.

The Problem
The problem is easily sumarised by the actual error message;

The text of the message reads;

"There was an exception running the extensions specified in the config file. ---> Maximum request length exceeded."

What this actually means is that you've tried to pass an XML file (Report Model?) to the server which is larger than the maximum size allowed.

The Background/ Duplicating The Problem
The test file that I used to run into this problem has a Data Source View (DSV) that contains about 35 objects. It's actually based on views in an Oracle e-Business Suite schema. The DSV diagram is;

 Apologies for this being a little small but the point is to show you the complexity, not to go into details of exactly what I'm doing. If I look into the project directory I can see that that the two files (the DSV and the Report Model) are 1MB and 3MB respectively;

When I attempt to deploy the project onto the Report Server (Windows 2008R2 running SQL Server 2008R2) I get the error message displayed above.

Fixing the Problem
This isn't actually that hard it just involves a change in the web.config file on the Report Server.

Open explorer and go to;

C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer

Of course if you're installed your software into some strange local directory you'll need to change the above path so that it works for your setup. But then you'll be used to doing that.

Open the file web.config in a text editor (i.e. Notepad);

The bit I've highlighted reads;
httpRuntime executionTimeout="9000"

Change this bit to read;
httpRuntime executionTimeout="9000" maxRequestLength="10240"

This will give you a 10MB size limit. If you need a different value then you can just change the 10240 to something else. 10MB seems a good size but if you have a highly controlled environment you might want to set a value only slighly larger than your largest model.

Once you've mode this change re-boot the server and you will be able to deploy the large model without any issues.
Post a Comment