风之语

posts(135) comments(156) trackbacks(1)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

News

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • ajax(1)
  • AppFuse(1)
  • iText(1)
  • JSF(8)
  • linux(3)
  • maven(1)
  • MSTR
  • Open XML(1)
  • Oracle(8)
  • RCP
  • Struts(2)
  • SybaseIQ(6)
  • tapestry
  • tomcat(2)
  • webservice(1)
  • 收藏(25)
  • 数据仓库(9)
  • 架构设计(3)
  • 生活(1)
  • 项目管理(2)

随笔档案

  • 2008年9月 (1)
  • 2008年7月 (2)
  • 2008年6月 (4)
  • 2008年5月 (6)
  • 2008年4月 (1)
  • 2008年3月 (1)
  • 2007年12月 (2)
  • 2007年11月 (5)
  • 2007年10月 (2)
  • 2007年9月 (3)
  • 2007年8月 (3)
  • 2007年4月 (1)
  • 2007年3月 (2)
  • 2007年2月 (2)
  • 2007年1月 (2)
  • 2006年12月 (3)
  • 2006年8月 (2)
  • 2006年7月 (2)
  • 2006年6月 (2)
  • 2006年4月 (2)
  • 2006年3月 (1)
  • 2006年2月 (3)
  • 2006年1月 (6)
  • 2005年12月 (6)
  • 2005年11月 (4)
  • 2005年10月 (17)
  • 2005年9月 (26)
  • 2005年8月 (16)
  • 2005年7月 (8)

相册

  • 技术图片

收藏夹

  • java

link

My wife

  • My wife's blog

最新随笔

  • 1. 设置正确的Content-Type以解决Ext的中文乱码问题
  • 2. 关于JFreechart柱状图 柱上不能显示数值的问题
  • 3. 快速创建个性化iGoogle主题的3个方法
  • 4. Apache Maven 2 简介(目前最全的技术资料了)
  • 5. 使用 AppFuse 的七个理由
  • 6. MyEclipse 6.5注册
  • 7. tomcat中的Server.xml元素详解
  • 8. Java 使用SWT 创建COM对象
  • 9.  如何在Java中嵌入IE
  • 10. 如何在Java内读取COM接口中所有的方法和属性

搜索

  •  

积分与排名

  • 积分 - 140211
  • 排名 - 51

最新评论

  • 1. re: 基于Weblogic Server 8.1 ant工具开发Web Service
  • 如果知道 问题所以请联系rxiaoliang@sina.com
  • --liuxl
  • 2. re: 基于Weblogic Server 8.1 ant工具开发Web Service
  • 评论内容较长,点击标题查看
  • --liuxl
  • 3. re: MyEclipse4.0破解[未登录]
  • 这个破解文件怎么下载不下来啊
  • --long
  • 4. re: 一个政府项目总结
  • 哎. 兄弟, 同感. 做政府项目 就是苦............
  • --啊牛。
  • 5. re: 最新版的MyEclipse4.0及其破解
  • ertwertwertwret
  • --discovery12

阅读排行榜

评论排行榜

View Post

关于ORA-01000: maximum open cursors exceeded的注意

很多朋友在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只需要设置一个比较小的值,就足够使用了,除非有非常特别的要求。

posted on 2005-08-06 18:34 风 阅读(2441) 评论(6)  编辑  收藏

View Comments

# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
是。我也碰到过这种错误。
2005-08-06 22:27 | 呆呆向前冲的blog
# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
谢谢!刚碰到这个错误,谢谢你的blog!
2007-01-11 13:24 | Alove
# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
非常感谢。另外,放到循环里面也是可以的,不过使用之后,立刻在循环末尾关闭就可以了。
2007-06-23 10:13 | xihuyu2000
# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
这个不错,修改后,观测到目前,尚未出现异常,谢!
2007-07-25 13:46 | zf
# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
嗯,谢谢楼主
2007-09-14 11:24 | 小克
# re: 关于ORA-01000: maximum open cursors exceeded的注意  回复  更多评论   
不错!不错
2008-07-10 09:41 | killman0019
新闻频道  新用户注册  刷新评论列表  

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
成果网帮您增加网站收入
 
相关链接:
网站导航:
博客园      BlogJava   博客生活   IT博客网   C++博客   PHP博客   博客园社区
管理博客   教师博客     天文博客   汽车博客   足球博客   股票博客   电子博客  管理

 
Powered by:
BlogJava
Copyright © 风