2010-02-10 55 views
2

到目前爲止,在這個項目中,我在VS2008/BIDS中有兩個報告。第一個包含1個tablix,大約100k。第二個包含3個tablixes(tablices?),大約257k。我可以成功部署來自VS的較小報告,並且可以從IE中的報告管理器上載它。我可以在Report Manager中查看/運行它,並且可以從瀏覽器訪問報表服務器(Web服務)URL。一切都是通過HTTPS完成的,證書沒有任何問題。無法從VS或IE部署或上傳大型SSRS 2008報告

隨着更大的報告,我得到的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 --- 
    ... 

回答

6

我想我想出了這一個。有關增加最大請求字節的博客條目聲明將HKDL_MACHINE \ System \ CurrentControlSet \ Services \ HTTP \ Parameters中名爲「MaxRequestBytes」的註冊表項添加到我所做的,然後重新啓動相應的服務。由於我仍然遇到了這個問題,所以我一直在尋找解決方案,事實證明,不應將「MaxRequestBytes」添加爲註冊表項,而應將其作爲DWORD值。有關更多信息,請參閱Http.sys registry settings for IIS。對於MaxRequestLength,默認值是16384,最大值是16777216(16 MB)。我有我的設置爲1048576(1 MB)。

再就是我看了一下是maxRequestLength屬性中<的httpRuntime在C:\ Program Files文件\微軟SQL服務器 \ MSRS10.SWA \ Reporting Services的\的ReportServer \ web.config中,其具有4096 KB的默認值(4 MB),這足夠大。參考:< httpRuntime> Element

驗證的最後一件事是,HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \服務\ TCPIP \參數\ EnableTCPChimney已被設置爲0。

服務器重新引導的另一個原因使得maxRequestLength的註冊表更改後,我能夠通過HTTPS上傳所有報告,包括更大的報告。