用的ssh,数据库是oracle,有一个方法查询了dblink,但是查询完后,连接一直没断开。导致连接数过多,最后无法连接,请问这是什么原因导致的呢?

解决方案 »

  1.   

    用的声明式事务,自动提交事务的,我用的for update 能正常提交,但是dblink就一直占着连接在哪里,不提交也不回滚,这个怎么弄?
      

  2.   

    用了dbcp连接池的。select * from table for update 这种查询语句没问题啊。但是查到dblink 就有问题了
      

  3.   

    不过如果使用dblink,我们需要及时显示的关闭dblink。以下提供两种方式
    alter sesssion close database link <dblink_name>;
    dbms_session.close_database_link(<dblink_name>);
      

  4.   

    这种方式是用在oracle的,在java中 不可能手动调用这些吧,既然都用了申明式事务了,就是为了不手动开启事务等操作了
      

  5.   

    是自动提交的,但是用for update会提交啊,但是用dblink就不提交了,事务一直开着,就锁死了.