posts - 25, comments - 69, trackbacks - 0, articles - 2

以前写jdbc相关的程序一直没有注意到 statement/resultset 是需要关闭的,直到最近在一个系统里面发现了这个“maximum open cursors exceeded”的异常。
通过查找相关文档,原来一个statement通常会对应一个db cursor,如果大量使用statement而不关闭就会引起此异常,关闭的代码很简单:

if(rs!=null)   //ResultSet
    try {
     rs.close();
    } catch (SQLException e1) {
     logger.error(e1.getMessage());

    }

   if(pst!=null)  //PreparedStatement  
    try {
     pst.close();
    } catch (SQLException e1) {
     logger.error(e1.getMessage());
    }


只有注册用户登录后才能发表评论。


网站导航: