出错ORA-01000: maximum open cursors exceeded

快跑蜗牛哥 2008-01-14 04:22:06
表示已经达到一个进程打开的最大游标数:
下面的程序该如何修改,才不会出错~~其中update的数据有几百条
private boolean update(Connection donn,ArrayList list)
{
String sql="";
try
{
for(int kk=0;kk<list.size();kk++)
{
sql ="update fhpur set ebox_rmk=1,ebox_date=to_date('"+p.sdf2.format(new java.util.Date()) +"','yyyy/MM/dd HH24:MI:SS') Where pur_no='"+list.get(kk)+"'";
logger.info(sql);
donn.createStatement().executeUpdate(sql);
}
donn.commit();
donn.close();
return true;
}
catch(SQLException sqleee)
{
error.handle(sqleee, logger, p.smtpHost, p.from, p.programer,
p.errorMailSubject, "更新资料数据时发生异常", "BIG5");
return false;
}
catch(Exception e)
{
error.handle(e, logger, p.smtpHost, p.from, p.programer,
p.errorMailSubject, "更新数据时发生例外", "BIG5");
return false;
}
finally
{
try
{
if(donn != null){donn.close();}
}
catch(Exception e)
{
logger.info("close donn error");
}
}
}
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
快跑蜗牛哥 2008-01-14
  • 打赏
  • 举报
回复
谢谢,结帖
随风醉舞 2008-01-14
  • 打赏
  • 举报
回复
頂上~~`
老紫竹 2008-01-14
  • 打赏
  • 举报
回复
顶一个楼上的,我加上了关闭语句
  private boolean update(Connection donn, ArrayList list) {
String sql = "";
try {
Statement stat = donn.createStatement(); // 声明放在外面
for (int kk = 0; kk < list.size(); kk++) {
sql = "update fhpur set ebox_rmk=1,ebox_date=to_date('" + p.sdf2.format(new java.util.Date())
+ "','yyyy/MM/dd HH24:MI:SS') Where pur_no='" + list.get(kk) + "'";
logger.info(sql);
stat.executeUpdate(sql);
}
stat.close(); // 这里关闭
donn.commit();
donn.close();
return true;
} catch (SQLException sqleee) {
error.handle(sqleee, logger, p.smtpHost, p.from, p.programer, p.errorMailSubject, "更新资料数据时发生异常", "BIG5");
return false;
} catch (Exception e) {
error.handle(e, logger, p.smtpHost, p.from, p.programer, p.errorMailSubject, "更新数据时发生例外", "BIG5");
return false;
} finally {
try {
if (donn != null) {
donn.close();
}
} catch (Exception e) {
logger.info("close donn error");
}
}
}
ml_dark 2008-01-14
  • 打赏
  • 举报
回复
你把创建statement的放到循环外面
Statement stmt = conn.createStatement();
for(){
stmt.executeUpdate(sql);
}

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧