SSRS 报表服务器是否有它可以处理的最大列数?
Does the SSRS Report Server have a maximum number of columns it can cope with?
我有一份包含 21 table 的 SSRS 报告。所有都占据相同的坐标,可见性 属性 设置为 table 仅当在用户交互参数中选择其名称时才显示。
有人要求我向各种 table 添加一些列。完成对请求列表中前两个 table 的修改后,我现在无法将报告上传到报告服务器,我得到了旧的 Maximum request length exceeded 错误;
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,它允许我上传报告。如果我删除整个 table 当然也是一样。
如果有帮助,这是我要求渲染引擎处理的内容的大致分类;
是否可以更改 web.config 文件中的设置来解决此问题?或者其他地方的设置?
否则,我可以从我自己的 table 中看到其中一些具有相同的结构,我可以使用所有参数将其中的一大块合并为一个 table,它只是这将需要大量的重新开发时间,所以我希望首先进行基于设置的修复!
在安装了SSRS的服务器上找到web.config文件,一般在C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer 或类似的(取决于版本)。
备份 web.config 文件。
编辑 web.config 文件,搜索 "HttpRuntime"。应该已经存在执行超时和请求验证模式。添加一个名为 "maxRequestLength" 的新元素并将其设置为以字节为单位的值。我认为默认情况下最大长度为 4MB,因此要将其加倍,您可以将其设置为 8388608。
该行现在看起来像这样:
<HttpRuntime executionTimeout="9000" maxRequestLength="8388608" requestValidationMode="2.0" />
最后重启SSRS服务或者重启服务器。
我有一份包含 21 table 的 SSRS 报告。所有都占据相同的坐标,可见性 属性 设置为 table 仅当在用户交互参数中选择其名称时才显示。
有人要求我向各种 table 添加一些列。完成对请求列表中前两个 table 的修改后,我现在无法将报告上传到报告服务器,我得到了旧的 Maximum request length exceeded 错误;
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,它允许我上传报告。如果我删除整个 table 当然也是一样。
如果有帮助,这是我要求渲染引擎处理的内容的大致分类;
是否可以更改 web.config 文件中的设置来解决此问题?或者其他地方的设置?
否则,我可以从我自己的 table 中看到其中一些具有相同的结构,我可以使用所有参数将其中的一大块合并为一个 table,它只是这将需要大量的重新开发时间,所以我希望首先进行基于设置的修复!
在安装了SSRS的服务器上找到web.config文件,一般在C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer 或类似的(取决于版本)。
备份 web.config 文件。
编辑 web.config 文件,搜索 "HttpRuntime"。应该已经存在执行超时和请求验证模式。添加一个名为 "maxRequestLength" 的新元素并将其设置为以字节为单位的值。我认为默认情况下最大长度为 4MB,因此要将其加倍,您可以将其设置为 8388608。
该行现在看起来像这样:
<HttpRuntime executionTimeout="9000" maxRequestLength="8388608" requestValidationMode="2.0" />
最后重启SSRS服务或者重启服务器。