作者joetsai (路人酒菜)
看板java
标题[问题] PreparedStatement 与 Cursor 的关系
时间Thu Jul 7 22:22:17 2011
Method 如下:
public void insert(Connection i_conn) throws Exception {
PreparedStatement ps = null;
String strSql = " insert into table1 ( id ) values ( ? ) ";
try {
ps = i_conn.prepareStatement(strSql);
ps.setString(1, getId());
ps.executeUpdate();
} finally {
try {
ps.close();
} catch (Exception e) {
}
}
}
从外部传入 Connection 重复执行 insert 8000 次 做完後在外部一起Commit
偶尔会出现 Maximum open cursors exceeded (ORA-01000) 的错误
DB 是 Oracle 10g 预设 Cursor 是 300个
请问是因为 一个 prepareStatement 产生一个 Cursor 吗?
可是程式有进行close 是因为产生的来不及关闭吗?
还是我的观念错误!?
谢谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.70.77
※ 编辑: joetsai 来自: 114.24.70.77 (07/07 22:25)