无法部署或VS或IE浏览器上传大SSRS 2008年报告
-
19-09-2019 - |
题
因此,在这个项目到目前为止,我有在VS2008 / BIDS两份报告。第一个包含1个表矩阵,是100K左右。第二个包含3个tablixes(tablicesα)和为约257K。我可以成功部署从VS小报告,我可以从IE中的报表管理器上传。我可以查看/从报表管理器运行它,我可以从我的浏览器就好了报表服务器(Web服务)的URL。一切都结束了HTTPS做并没有什么不对的证书。
使用较大的报告中,我在VS得到的错误是约100秒后“的操作已超时”。当我从IE上传错误是“基础连接已关闭:一个发送发生意外的错误”。约130秒后
在我试图从true更改认证/ EnableAuthPersistence为false,并且重新启动该服务,但仍然得到错误RSReportServer.config文件。我有钥匙“SecureConnectionLevel”设置为2更改为0并关闭SSL不会是一种选择。我添加了一个名为“MaxRequestBytes”到HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ HTTP \参数注册表项并将其设置为5242880(5MB),并重新启动HTTP和SRS服务,在一个论坛帖子由MSFT的金晨建议。
我仍然不能上传较大报告。这是在MS SQL 2008年和2003年WS下面是... \ Reporting Services的\ LogFiles文件,当我试图从IE浏览器上传。
日志文件条目的一部分library!WindowsService_0!89c!02/10/2010-07:57:57:: i INFO: Call to CleanBatch() ends ui!ReportManager_0-1!438!02/10/2010-07:59:33:: e ERROR: The underlying connection was closed: An unexpected error occurred on a send. ui!ReportManager_0-1!438!02/10/2010-07:59:34:: e ERROR: HTTP status code --> 500 -------Details-------- System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine at System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize[] buffers, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize[] buffers) --- End of inner exception stack trace --- ...
解决方案
我想我想通这一个。有关增加最大请求博客条目字节表示添加注册表项名为“MaxRequestBytes”到HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ HTTP \参数,我照做了,然后重新启动相应的服务。因为我仍然有问题,我一直在寻找一个解决方案,而事实证明,“MaxRequestBytes”不应该被添加注册表项,而是作为一个DWORD值。请参阅IIS 的Http.sys注册表设置以获取更多信息。对于maxRequestLength的默认值是16384和最大为16777216(16 MB)。我有我设置为1048576(1 MB)。
另一件事我看着在<的httpRuntime在C maxRequestLength属性:\ Program Files文件\微软SQL 服务器\ MSRS10.SWA \ Reporting Services的\的ReportServer \ web.config中,其具有4096 KB(4 MB),足够大的默认值。参考: <的httpRuntime>元素
要验证的最后一件事是,HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ TCPIP \参数\ EnableTCPChimney已被设置为0。
在服务器重新启动是为了使maxRequestLength的注册表更改后的另一个原因,我现在能够上传的所有报告,包括较大的一个,所有这些都通过HTTPS。