我正在尋求關於生成CSV報告的建議。生成在ASP.NET中有100萬行以上的CSV報告
我有一個ASP.NET應用程序生成帳單數據報告。最近,我注意到當它試圖導出報告文件時,Web應用程序沒有響應,並且會拋出OutOfMemory異常或服務器超時異常。
我所做的修改,這是到:
- 將在SQL服務器的必要指標,以獲得記錄更快
- 使用SqlDataReader對象來從SQL服務器數據
- 指定所需的標準提取必要的記錄,而不是在一次通話中獲取所有信息。
我也想過限制的最大記錄數的從數據庫返回,但是系統要求不管行數有多大返回,因爲下載的信息將成爲我們客戶的財務記錄至關重要產生的所有信息。
我想知道,什麼方法/解決方案可以用來呈現在ASP.NET中有大量數據的CSV報告?
期待您的回覆。
乾杯, 安
有些代碼會有幫助 - 應該有辦法解決內存不足的問題,但除非我們能看到代碼,否則不能肯定地說。 – Hogan 2010-11-09 21:47:08
由於SQL執行,您是否內存不足?或者當數據被寫入CSV? – BeemerGuy 2010-11-09 21:48:36
您應該一次讀取一行,並將一個CSV記錄一次推送到流中。這樣,沒有使用額外的內存。不看源頭,很難說哪個是問題。 – McKay 2010-11-09 21:49:08