linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 数据库开发 >
栏目导栏
资料搜索
热门文章
·oracle exp/imp命令详解
·Oracle exp/imp导出导入工具的
·MySQL图形化管理软件安装使用详
·SQL*PLUS命令的使用大全
·PPPOE + FreeRADIUS + MySQL 配
·MySQL语言参考(3) :SELECT和
·创建一个Oracle 数据库
·MySQL的管理工具:phpMyAdmin使
·ORACLE9I安装步骤
·Linux下Oracle9i RMAN备份及恢
·RMAN的中文文挡
·oracle 分区表的建立方法
·aix5.3安装oracle说明
·fc5 下成功安装Oracle 10g
·PHPMyAdmin配置标准
最新文章
·带你轻松接触MySQL数据库的异常
·PostgreSQL 8.3.1, 8.2.7发布
·实例讲解在MySQL中如何导出整个
·轻松掌握MySQL数据库锁机制的相
·五种MySQL数据库可靠性方案的分
·MySQL数据库中对前端和后台进行
·巧用MySQL InnoDB引擎锁机制解
·MySQL存储过程SAVEPOINT ROLLB
·创建Bitmap_Join_Indexes中的约
·在MySQL数据库中应当如何关闭错
·某些更改的非事务性表不能被回
·放弃连接消息出现在错误日志中
·怎样才能解决MySQL 5.0.16的乱
·MySQL数据库中如何解决分组统计
·SAVEPOINT和ROLLBACK TO SAVEP
Google
 
Java开发使用Oracle数据库的注意事项
[ 作者:  加入时间:2006-12-07 11:11:20  来自:Linux联盟收集 ]

很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。

实际上,这个错误的原因,主要还是代码问题引起的。

  ora-01000: maximum open cursors exceeded.

表示已经达到一个进程打开的最大游标数。

这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。

一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statment关闭。

对于出现ORA-01000错误这种情况,单纯的加大open_cursors并不是好办法,那只是治标不治本。实际上,代码中的隐患并没有解除。

而且,绝大部分情况下,open_cursors只需要设置一个比较小的值,就足够使用了,除非有非常特别的要求。

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息