我有21张桌子的SSRS报告。全部占用相同的坐标,其可见性属性设置为仅在用户交互式参数中选择其名称时才显示表格。
我被要求在各种表中添加一些列。完成对请求列表中前两个表的修改后,我现在无法将报告上传到报表服务器,我得到了旧的最大请求长度超出错误;
System.Web.Services.Protocols.SoapException: There was an exception running the extensions specified in the config file. ---> System.Web.HttpException: Maximum request length exceeded. at System.Web.HttpRequest.GetEntireRawContent() at System.Web.HttpRequest.get_InputStream() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
奇怪的是,rdl文件的大小在过去几次更改中几乎没有增加,它已经上升了几KB。
这就是提出我问题的一点;如果我将列的总数减少3,那么从205减少到总共202,它可以让我上传报告。如果我当然删除整个表格也一样。
如果有帮助,这是我要求渲染引擎处理的内容的广泛细分;
web.config文件中是否有可以更改的设置来修复此问题?或者在某处设置其他设置?
如果做不到这一点,我可以从我自己的表中看到它们中的一些具有相同的结构,我可以使用所有参数将它们的一大块合并到一个表中,它只是一个很大的数量重建时间,所以我希望首先进行基于设置的修复!
答案 0 :(得分:1)
在已安装SSRS的服务器上找到web.config文件,通常位于C:\ Program Files \ Microsoft SQL Server \ MSRS13.MSSQLSERVER \ Reporting Services \ ReportServer或类似文件(取决于版本)。< / p>
备份web.config文件。
编辑web.config文件,搜索&#34; HttpRuntime&#34;。应该存在执行超时和请求验证模式。添加一个名为&#34; maxRequestLength&#34;的新元素并将其设置为以字节为单位的值。我认为默认情况下最大长度为4MB,所以要加倍,你可以将其设置为8388608。
这条线现在看起来像这样:
String[] myStringArray = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
String input = "Monday";
String[] newInput = new String[5];
int j = 0;
for(int i=0; i< myStringArray.length; i++)
{
if(!myStringArray[i].equals(input))
{
newInput[j] = myStringArray[i];
j++;
}
}
最后重启SSRS服务或重启服务器。