我有一个关于数据库的问题( Oracle 10g )。我在JSP Servlet中开发了Web应用程序。现在我正在对它进行测试。首先,我面临一个问题(即" ORA-01000:超出最大开放游标" )。为解决问题,我关闭了建立数据库连接的每个文件(例如:Foo.java和Foo.jsp)中的每个连接。为此,我使用了以下代码:
finally {
if(rs1 != null) {
try {
rs1.close();
} catch (SQLException e) { /* ignored */ }
if(ps2 != null) {
try {
ps2.close();
} catch (SQLException e) { /* ignored */ }
}
if(con != null) {
try {
con.close();
} catch (SQLException e) { /* ignored */ }
}
}
但现在代码又出现了另一个问题:应用程序无法从数据库中获取任何记录。
当我第一次点击链接时(添加菜单,然后显示所有数据,但当我点击另一个链接时,所有记录都消失了。
然后就这样。
并显示错误java.sql.SQLException: Closed Connection
答案 0 :(得分:0)
可能是您已经在方法外定义了连接对象,第一次使用它连接到数据库的连接对象,当您再次单击链接时,将调用相同的方法并且连接对象已经关闭在最后,因此无法再次连接到数据库导致关闭连接异常。
首先是在方法内部创建连接或预处理语句或语句并获取结果集。再次调用该方法时,在连接池的帮助下再次创建连接对象,因此可以成功连接到数据库