2017-04-09 51 views
0

我有一个关于数据库的问题(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 */ } 
     } 
    } 

但现在代码给出了另一个问题:应用程序不会从数据库中提取任何记录。

当我第一次单击链接(添加菜单,然后它显示所有的数据,但是当我点击另一个链接,然后所有记录都消失了。

image 1:

再经过是这样的。

image 2:

和显示错误java.sql.SQLException: Closed Connection

+0

从列标题中删除''s'。这只是语法错误。 –

回答

0

可能是y你已经定义了方法外部的连接对象,第一次使用它连接到数据库的连接对象,当你再次单击链接时,将调用相同的方法,并且连接对象已经最终关闭,因此可以没有再次连接到数据库导致关闭连接异常。

首先是在方法内部创建连接或预处理语句或语句并获取结果集。当再次调用该方法时,连接对象将在连接池的帮助下再次创建,因此可以成功连接到数据基础。

+0

Thanx ....我创立了一个地方是问题。其实问题是在MyConnection.java里面,首先我创建了一个静态的方法...但是现在我从我的方法(公共连接connectMe())中删除了静态关键字,并且它的工作...... –

相关问题