手动不行吧可以设置sqlserver自动关闭连接的时间
设置的短一些吧?

解决方案 »

  1.   

    在那里设置sqlserver自动关闭连接的时间呢?我用的是jboss4.0的服务器,这个问题好像很麻烦啊,但是异步式数据库应该也会碰到同样的问题啊。给个解决的思路阿?
    就是一般死连接都出现在本机的网站链接,而外部连接反而没有
      

  2.   

    在finally中加
    db.close()
    db=null
      

  3.   

    我已经在final中加入了close代码的啊
      

  4.   

    可能你的页面直接调用ResultSet结果集,结果集不关闭释放,连接是无法释放的.所以才会有个dao层把ResultSet结果集转化成PO对象List返回
      

  5.   

    这里是close的代码
    /**
     * 使conn连接归还连接池,同时关闭stmt或pstmt。
     */
    public void close() throws Exception {
    if (stmt != null)  {
    stmt.close();
    stmt = null;
    }
    if (pstmt != null) {
    pstmt.close();
    pstmt = null;
    }
    if (cstmt != null) {
    cstmt.close();
    cstmt = null;
    }
    if (conn != null) {
    dbConnManager.freeConnection(conn);
    }
    }而且我也没有直接用结果集返回,我定义了很多bean,然后每次取回的数据都用Map的方式记录下来再关闭数据库联接返回的。没有地方是直接返回记录集的。
    不过这里我的rs都没有关闭,而是直接操作db.close()的。这样应该没有问题吧
      

  6.   

    这位朋友的可以参考:
    xxdino(恐龙)
      

  7.   

    谁帮我看看 这个JAVABEAN 是什么问题 谢谢 急需要 
    package test;import java.sql.*;public class test
    {
    String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String sConnStr="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=bookshop";
    String user = "sa";
    String password = "123456";
    Connection conn=null;
    ResultSet rs=null;public test()
    {
    try{
    Class.forName(sDBDriver);
    }
     catch(java.lang.ClassNotFoundException e)
     {
     System.err.println("错误是: personbean():"+e.getMessage());
     }
    }
    //首页显示所有的记录,查询所有的数据;
    public ResultSet executeQuery_FindAll()
    {
    String sql_FindAll="select id,title,name,body from body";
    rs=null;
    try
    {
    conn=DriverManager.getConnection(sConnStr,user,password);
    Statement stmt=conn.createStatement();
    rs=stmt.executeQuery(sql_FindAll);
    }catch(SQLException ex)
    {
    System.err.println("aq.executeQuery:"+ex.getMessage());
    }
    return rs;
    }
    }:com.microsoft.jdbc.sqlserver.SQLServerDriver 
    No suitable driver  
    这两项都报了错 
    我怀疑可能是SQL SERVER的驱动没装好 
    但是在JSP里面又可以用
      

  8.   

    在finally中加
    你在调用连接的时候,就必须关闭,而不是db.close();因为你的bean返回的不是封装好的数据,而是封装的连接,直接调用关闭方法是不一定能关闭的,你的db.close();里面的实现代码,最好在每次使用连接的时候直接写在finally里面
      

  9.   

    这里我没有把数据连接传出来,而都是用array或者map把所有的数据存下来,再关闭连接,传回数据,所有的finally中都加上了close()的代码,还是有问题,而且这种问题很偶然
      

  10.   

    我也碰到过 不过我用的是MySQL 我们的做法时在Web配置里加释放连接的时间缩短一些,最大连接数设置的大一些. 嘿嘿
      

  11.   

    我发现好像只有把数据库和web放在一起才不会出现这样的问题啊,但是异地数据库连接是怎么没解决这个问题的呢?
      

  12.   

    我遇到过这样的问题,是连接数已经达到了最大数目,如果在DB2中可以设置最大的连接数是无限的,如果是SQL就要注意内存释放了,比如说无意中的一个statement,Resulet..等等!!这些东西如果不及时释放,将一直占用内存,或者导致内存泄漏...前几天一个同事些的代码就是没有Resulet释放,跑了一趟连云港哦
      

  13.   

    看了上边帖的code,哪里有什么conn pool啊?不就是单个连接申请吗?
      

  14.   

    finally内的代码一般写的都是肯定不出错的. 不要再加 try catch
      

  15.   

    在finally里加try catch ,finally的意义何在?!!