2010-12-03 117 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,并且将使用更多的内存。

相关问题