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

时间:2010-02-10 16:32:00

标签: visual-studio-2008 https ssrs-2008 bids

到目前为止,在这个项目中我在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 ---
   ...

1 个答案:

答案 0 :(得分:6)

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

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

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

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