2010-12-03 86 views
3

我已經與Java堆內存 我試圖從Oracle數據庫11g遷移到訪問文件2007Java堆空間異常,大量數據,任何解決方案?

這是不低於65.000記錄的問題,現在從那裏...... 的aplication痘痘大問題拋出Java堆異常,內存消耗增加超過600米,並且CPU使用率超過50%,直到執行爲止。

據我所知rset.next()沒有得到所有數據(超過50 colums X 65000行),但一些記錄×時間 我已經嘗試設置過於獲取大小,什麼都沒有發生

rset.setFetchSize(1000); 

我抹去我的代碼,並顯示輸出,同樣的錯誤

while (rset.next()) { 
if (cont % 5000 == 0) { 
    System.out.println(cont + " proccesed and counting ..."); 
} 
} 

請不要給我使用-xm的答案(S,X)512,1024,等等。 。 這可以解決,而不是在我的特殊情況下(我試圖設置這個更高的xD,沒有任何發生,我也有同樣的例外65.000記錄)

是否有任何其他選項,我可以嘗試??, meaby改變一些驅動程序配置或字符串連接? 請幫助

對不起aboubt我的英語

這是我的連接:

Class.forName("oracle.jdbc.driver.OracleDriver"); 
this.conn = DriverManager.getConnection("jdbc:oracle:thin:@" + getServer() + ":1521:orcl", getUser(), getPassword()); 
       this.stmt = this.conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE); 
+2

我們可以看到你的錯誤信息嗎? – OscarRyz 2010-12-03 19:58:28

+0

是的稍等片刻 – ErVeY 2010-12-03 20:01:16

回答

2

它看起來像問題是,您使用的是滾動的ResultSet,並且將使用更多的內存。

相關問題