和服务器没有关系。
应该是你程序的问题,在statement.close()方法调用后,还有对statement的操作么?

解决方案 »

  1.   

    你的代码有问题吧??和CPU没什么关系的说。
      

  2.   

    和CPU没有任何关系,原因在于你把Statement或者是ResultSet关闭之后,有对记录集的操作,当然会出现错误
      

  3.   

    没有有关系。我在4CPU上没有问题。
    你用的什么数据库呀?
    oracle好像不会这么说、
      

  4.   

    你的操作顺序一定是出现了下面的形式:
     ......;
     Statement st=null;
     Connection con=null;
     ResultSet rs=null;
     try{
       con=...;
       st=...;
       rs=...;
       ....;
       con.close();
       st.close();
       rs.close();
     }
     catch(SQLException sql){}
     rs.getString(1);
     .....
      

  5.   

    同意上面的,如果你认为是由于多cpu的问题,可以在单cpu的机器上测试一下,答案请贴一下。
      

  6.   

    呵呵不是你有多个cpu就可以认为java出错了java开发人员的cpu可能更多
      

  7.   

    Connection sqlConn = null;
        Statement stmQuery = null;
        ResultSet rstResult = null;    ArrayList list = new ArrayList();    try {      sqlConn = JNDIPool.getConnection("SMS_WEBAPPS");
          stmQuery = sqlConn.createStatement();      rstResult = stmQuery.executeQuery(sql.toString());      while (rstResult.next()) {        Logo logo = new Logo();        logo.setId(rstResult.getInt("id"));
            logo.setLogoId(rstResult.getString("logo_id"));
            logo.setType(rstResult.getString("type"));
            logo.setLogoTypeId(rstResult.getInt("type_id"));
            logo.setFirstType(rstResult.getString("first_type"));
            logo.setSecondType(rstResult.getString("second_type"));
            logo.setDownload(rstResult.getInt("download"));
            logo.setFavour(rstResult.getInt("favour"));
            logo.setSubject(rstResult.getString("subject"));
            logo.setRecommend(rstResult.getInt("recommend"));
            logo.setKeyword(rstResult.getString("keyword"));
            logo.setComment(rstResult.getString("comment"));
            logo.setTime(rstResult.getString("time"));
            logo.setAuthor(rstResult.getString("author"));
            logo.setGender(rstResult.getByte("gender"));
            logo.setPublish(rstResult.getByte("publish"));        list.add(logo);      }      rstResult.close();
          stmQuery.close();      rstResult = null;
          stmQuery = null;    } catch (Exception ex) {      System.err.println("[LogoDigestHandle:handleRequest]" + sql.toString());
          ex.printStackTrace();
          return QUERY_FAIL;    } finally {      try {
            sqlConn.close();
            sqlConn = null;
          } catch (Exception ex) {
          }    }    request.setAttribute(RESULTSET_ENTRY, list);
        return QUERY_SUCCESS;  }
      

  8.   

    我用的是Mysql数据库服务器,Driver是gjt的.JSP容器是resin,我在单机上运行时没问题,但是移到服务器上,很多人访问时,就有问题了.
      

  9.   

    我在数据库操作那里加上synchroinzed(this){}就没有问题了,但量效率很低,所以问问大家有没有好的办法.
      

  10.   

    不是吧!
    看你的例子代码,应该是在 JSP 或者 servlet zhong中!
    你不是将上面的代码定义在 JSP中的 <%! %>之间吧?
    这样的话,多个对同一 jsp 的访问是共用同一个 statement 的哦!
    如果其他人在操作时,另外的人操作完成的话,肯定会产生你那样的异常的呀!