servlet執行update報錯ORA-12518

來源:互聯網
上載者:User

servlet執行update報錯ORA-12518

ORA-12518: TNS:listener could not hand off client connection

這種錯誤一般是在測試資料庫並發性的,多個使用者的,

後台用servlet方法執行個update ,只不過updated的記錄為1100個,後台一直報這個錯誤,

我也更改了Oracle的串連數為1200,但是當執行到356行的時候,還是報上述的錯誤

解決方案:程式碼的問題,執行更新後,沒有關閉串連,囧,切記關閉串連

public boolean update(Department e) {
 boolean flag = true ;
 String updateSQL = "update department set sort="+e.sort+" where id = " + e.getId(); 
 try {
 <span style="white-space:pre"> </span>stmt.executeUpdate(updateSQL);
 } catch (Exception e1) {
  e1.printStackTrace();
  flag = false ;
 }
 return flag ;
}

 

public boolean update(Department e) {
 boolean flag = true ;
 String updateSQL = "update department set sort="+e.sort+" where id = " + e.getId(); 
 try {
  stmt.executeUpdate(updateSQL);
 } catch (Exception e1) {
  e1.printStackTrace();
  flag = false ;
 }finally{
                stmt.close;  //切記關閉
                conn.close;  //切記關閉
      }
 return flag ;
}

以前的程式碼量小也沒發覺到不關閉的危害,這次終於嘗試到了,而且還花費了半天的時候找其他的原因,福禍相依,同時也發現了oracle的小秘密——並發性測試

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.