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的小秘密——并发性測试


原文地址:https://www.cnblogs.com/wgwyanfs/p/6728190.html