我有一個SSRS報告(SSRS 2012),當我嘗試導出到Excel時,一分鐘左右發生500次服務器錯誤後總是崩潰。SSRS導出到Excel結果(500)服務器錯誤
報告本身成功運行。而且我可以成功地將結果導出爲CSV,在報告本身渲染後實際只需要幾秒鐘的時間。
我在遇到大於20000條記錄的結果集時遇到此問題;我目前的例子有36000條記錄 - 它導致Excel導出崩潰,但CSV導出成功。
我試過檢查SSRS日誌(C:\Program Files\Microsoft SQL Server\MSRS11.SQL2012\Reporting Services\LogFiles
)沒有錯誤顯示在那裏,只有幾個條目RenderForNewSession
和RenderFromSession
指向我的報告。
事件查看器應用程序日誌顯示了ASP.NET 2.0警告條目:
Exception information: Exception type: COMException Exception message: This network connection does not exist. (Exception from HRESULT: 0x800708CA)
還有其它任何地方,我會覺得非常有用的調試信息?如果我不需要,我真的不必指示客戶端「不要將大型報告導出到Excel中,而是使用CSV」。或者當從SSRS網絡報告查看器導出到Excel時,是否有任何已知問題或怪癖?
編輯:
一些進一步的挖掘後,我發現一些更多的信息,但還沒有找到一個實際的解決方案。我確實找到了可以在日誌中調出調試級別的位置 - 在ReportingSErvicesService.exe.config
文件中,有兩個設置,DefaultTraceSwitch
和Components
,位於RSTrace
標記下方。它們的默認值爲3
,但是每個碰撞到4
都提供了看起來很詳細的日誌記錄輸出。
這很有意思,但並沒有真正指出我除了確認它看起來像客戶端執行超時之外的任何新東西。
接下來我遇到了一個TechNet article that at least seems to describe the various places I might be able to set an SSRS timeout。從我可以告訴它,似乎Excel導出渲染器正在執行某個地方的執行超時,但所有SSRS設置似乎涵蓋了足夠的空間來運行任何東西。
如果web.config httpRuntime
executionTimeout
設置覆蓋machine.config設置? TechNet文章暗示,machine.config設置似乎與導出時看到的超時一致,但ReportServer web.config的executionTimeout
設置比ASP.NET默認設置大得多。
感謝您的提示。它沒有對標籤做任何有趣的事情,它只是一個直接的數據轉儲。關於壞數據的有趣想法 - 我會看看是否可以限制一些行。它看起來好像與數據量有關 - 它發生在多個不同的報告上,大約在20k行左右。 –