2010-10-29 50 views
0

com.microsoft.sqlserver.jdbc.SQLServerException:系統內存不足。對大型結果集使用服務器端遊標:Java堆空間。結果集大小:280,236,031。 JVM總內存大小:423,297,024。創建服務器端遊標

我想從SQL中獲取大數據集,並且出現以下錯誤。讓我知道是否有人看到類似的東西,並願意放棄一條線。

+0

什麼是功能要求?將整個數據庫複製到Java內存中可能會有更好的解決方案。例如,您可以按行/頁面工作,也可以使用DB提供的導出工具。 – BalusC 2010-10-29 19:11:13

+0

我在R做分析。這是一個統計分析,我需要所有這些數據。 – user491663 2010-10-29 19:24:07

回答

0

您是否嘗試增加可用於您的JVM的內存量?在命令行上,添加-Xmx1024m以將JVM內存佔用量增加到1Gig。這不是一個長期的解決方案,但它可以解決您的直接問題。

+0

我沒有直接使用Java。因此,除非我在JVM本身執行它,否則我無法指定它,我不相信我可以訪問它。 – user491663 2010-10-29 20:07:22

+0

如果得到的數據內存不足並且無法更改,唯一的辦法就是減少一次使用的內存量。有很多可能性值得思考,但取決於您想要做什麼以及您使用的是什麼軟件。 – vickirk 2010-10-29 20:36:22

+0

我試着增加可用內存。但它仍然給我同樣的錯誤。任何人知道爲什麼? – user491663 2010-10-29 21:58:59