首页 > 代码库 > servlet执行update报错ORA-12518

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


servlet执行update报错ORA-12518