catch  一下 SQLException  ,然后判断一下是否断线了,如果断线了就重联。一个线程每隔10几秒就写数据库,如果控制好了,是不用断开数据库连接的。

解决方案 »

  1.   

    谢谢回答,何谓控制好?
    我是在执行sql的方法里判断数据库连接是否断了,如果断了就重新连接。但是目前没有断开数据库的操作。我想问的是这种情况下是否需要断开数据库连接?
      

  2.   

    我是在执行sql的方法里判断数据库连接是否断了,如果断了就重新连接。但是目前没有断开数据库的操作。我想问的是这种情况下是否需要断开数据库连接?
    =====================================================
    如果捕捉到数据库是断开的话就直接
    关闭(close)连接对象,再重新连接。
    这样可以吗?
    private class RunThread extends Thread 
    {
      public void run() {  int i=0;
    while (true) 
            {
    try {
                      
     rs=exeQuery1(SQL_QUERY);//执行查询
     while(rs.next())
              {
       SQL_INSERT="insert into tt (a)values('"+rs.getString("a")+"')";
       exeUpdate2(SQL_INSERT);//执行插入
    }
    sleep(10000);
    } catch (Exception e) {
    //重新构造连接对象,以下只作参考.......
      Connection con=DriverManager.getConnection(dburl);
       Statement stmt=con.createStatement();
       ResultSet rs=getResultSet();
      e.printStackTrace();
     }
           }
    }
    }