最近做项目碰到ORA-01000错误,参考了一些解决办法,把自己解决问题的一些心得写下来。
Java访问Oracle数据库,在for循环代码中,假如忽略关闭createstatment或preparedstatement建立的连接,将出现:ORA-01000错误。
背景知识:
oracle中每次使用用createstatment或preparedstatement语句,都将打开一个游标,所以单纯增
加oracle中打开游标数目不是解决问题的办法。
问题解决:
1:首先定位是那些语句打开的游标过大。
执行以下语句:
select *
from v$open_cursor
where user_name = 'tech'
2:从上面的查找结果的sql_text字段中,找到sql语句,再去java代码中定位执行这些语句的代码,
添加PreparedStatement或Statement类的close方法。
Trackback: http://tb.blog.csdn.net/TrackBack.ASPx?PostId=1479962