我通过jdbc执行一个存储过程,执行了很长一段时间后,在db中对应的session没有了,但在应用程序中没有收到任何异常信息,所以导致执行函数一直阻塞。请问为什么会出现这样的问题?这会不会跟Oracle某种处理机制有关,如果有这会是什么样的机制?code:
try
{
  Connection conn = ...
  CallableStatement cstmt = conn.prepareCall("call "+strProc+"()");
  cstmt.execute();
}
catch(SQLException e){}
catch(Exception e){}

解决方案 »

  1.   

    exception都被你catch,然后什么事都不做, 这样exception当然就消失咯~ 你在catch{}加 throw e;  就知道什么错误发生了;(汗, 貌似很多java,c#的程序员对exception的catch机制一点都不了解,乱用)
      

  2.   

    纠正一下:
    这只是一个示例,是我从项目抽出来的一个简写的代码块。实际上肯定是有处理的。
    请各位跟帖的朋友们,抓住问题的主要方面,问题的实质来解答(在db中对应的session没有了,但在应用程序中没有收到任何异常信息,所以导致执行函数一直阻塞)。谢谢。