无法从VS或IE部署或上载大型SSRS 2008报告

Bra*_*tch 2 https bids visual-studio-2008 ssrs-2008

到目前为止,在这个项目中我在VS2008/BIDS中有两个报告.第一个包含1个tablix,大约是100k.第二个包含3个tablix(tablices?),约为257k.我可以从VS成功部署较小的报告,我可以从IE中的报告管理器上传它.我可以从Report Manager查看/运行它,我可以从我的浏览器到达报告服务器(Web服务)URL.一切都通过HTTPS完成,证书没有任何问题.

对于较大的报告,我在VS中得到的错误是"操作已经超时"约100秒后.我从IE上传时的错误是"基础连接已关闭:发送时发生意外错误"约130秒后.

在RSReportServer.config文件中,我尝试将Authentication/EnableAuthPersistence从true更改为false并重新启动服务,但仍然收到错误.我将密钥"SecureConnectionLevel"设置为2.将此更改为0并关闭SSL不是一个选项.我在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters中添加了名为"MaxRequestBytes"的注册表项,并将其设置为5242880(5MB),并按照MSFT的Jin Chen在论坛帖子中的建议重新启动了HTTP和SRS服务.

我仍然无法上传较大的报告.这是在MS SQL 2008和WS 2003上.当我尝试从IE上传时,以下是来自...\Reporting Services\LogFiles的日志文件条目的一部分.

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 ---
   ...

Bra*_*tch 6

我想我想出了这个.关于增加最大请求字节的博客条目,用于将名为"MaxRequestBytes"的注册表项添加到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters,我做了,然后重新启动了相应的服务.由于我仍然遇到问题,我一直在寻找解决方案,事实证明,"MaxRequestBytes"不应该作为注册表项添加,而应添加为DWORD值.有关更多信息,请参阅IIS的Http.sys注册表设置.对于MaxRequestLength,默认值为16384,最大值为16777216(16 MB).我的设置为1048576(1 MB).

我看到的另一件事是C:\ Program Files\Microsoft SQL Server\MSRS10.SWA\Reporting Services\ReportServer\web.config中的<httpRuntime中的maxRequestLength属性,其默认值为4096 KB(4 MB),这是足够大.参考:<httpRuntime>元素.

要验证的最后一件事是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableTCPChimney已经设置为0.

在进行MaxRequestLength注册表更改后,服务器因其他原因重新启动,我现在可以通过HTTPS上传所有报告,包括较大的报告.