2017-04-09 52 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())中刪除了靜態關鍵字,並且它的工作...... –

相關問題