Java Oracle JDBC 超出打开游标的最大数异常
来源:互联网 发布:网络管理小结 编辑:程序博客网 时间:2024/05/17 02:18
今天在调试下面这段代码时总是出现“ora-01000 超出打开游标的最大数”这个错误,上网查了一下,主要原因是:Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。
for(int m=0;m<ydbm.length;m++){
String sqlbx="insert into yw_ggbmxx (bm_code,gg_code,sfyd,opcode,opname,opdate) values (?,?,?,?,?,sysdate)";
pstmtb = conn.prepareStatement(sqlbx);
pstmtb.setString(1, ydbm[m]);
pstmtb.setString(2, seq);
pstmtb.setInt(3, 0);
pstmtb.setString(4, ggxx.getOpcode());
pstmtb.setString(5, ggxx.getFbr());
pstmtb.executeUpdate();
conn.commit();
}
所以将上述代码段中的几行移出循环就可以解决问题。如下就不会提示错误了。
String sqlbx="insert into yw_ggbmxx (bm_code,gg_code,sfyd,opcode,opname,opdate) values (?,?,?,?,?,sysdate)";
pstmtb = conn.prepareStatement(sqlbx);
for(int m=0;m<ydbm.length;m++){
pstmtb.setString(1, ydbm[m]);
pstmtb.setString(2, seq);
pstmtb.setInt(3, 0);
pstmtb.setString(4, ggxx.getOpcode());
pstmtb.setString(5, ggxx.getFbr());
pstmtb.executeUpdate();
conn.commit();
}
- Java Oracle JDBC 超出打开游标的最大数异常
- 【Oracle异常】ORA-01000: 超出打开游标的最大数
- 超出打开游标的最大数异常
- oracle 超出打开游标的最大数
- Java-超出打开游标的最大数
- 超出打开游标的最大数异常的解决
- 处理超出打开游标的最大数异常
- 处理超出打开游标的最大数异常
- 处理超出打开游标的最大数异常
- oracle数据库ORA-01000: 超出打开游标的最大数
- Oracle ORA-01000: 超出打开游标的最大数
- Oracle: ORA-01000: 超出打开游标的最大数
- oracle超出打开游标的最大数解决方法
- oracle 超出打开游标的最大数解决方案
- Oracle出现超出打开游标最大数的解决方法-yellowcong
- oracle java.sql.BatchUpdateException: ORA-01000: 超出打开游标的最大数
- 超出打开游标的最大数 问题
- 超出打开游标的最大数
- 通用寄存器的作用
- 32位环境下的16汇编程序设计
- 妈妈告诉将要出嫁的女儿,爸爸告诉将要结婚的儿子!
- wireshark 抓包的问题
- Android学习笔记<一> 简介
- Java Oracle JDBC 超出打开游标的最大数异常
- ARM寄存器
- win7安装Oracle错误:要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1
- 用pexpect做交互式的程序
- 【WordPress】定制后台管理界面的修改方法
- vmware ubuntu二三事
- NSF方式挂载Android分区
- Common Beginner Problems in JSF
- Java 泛型高级编程 ? 类型占位符的使用