问题代码:
for循环中调用一个方法,方法大致如下: preparedstatement ps = null; String sql1 = "....."; ps= connection.preparestatement(sql1); ps.executequery(); String sql2 = "......"; ps= connection.preparestatement(sql2); ps.executequery(); String sql3 = "......"; ps= connection.preparestatement(sql3); ps.executequery();
解决办法:
preparedstatement ps = null; String sql1 = "....."; ps= connection.preparestatement(sql1); ps.executequery(); ps.close(); String sql2 = "......"; ps= connection.preparestatement(sql2); ps.executequery(); ps.close(); String sql3 = "......"; ps= connection.preparestatement(sql3); ps.executequery(); ps.close();
查询Oracle数据库会话最大游标数:
SQL> show parameter open_cursors; NAME TYPE VALUE --------------------- ----------- ----------- open_cursors integer 1500