页面是不是错了,可能传入的SQL这个参数错了。

解决方案 »

  1.   

    没有执行closeStmt()和closeConn()   public boolean executeUpdate(String sql) throws Exception {
        stmt = null;
           try{
              initCtx = new InitialContext();
              ctx = (Context) initCtx.lookup("java:comp/env");//获取连接池对象
              obj = (Object) ctx.lookup("jdbc/OracleDB");//类型转换
              javax.sql.DataSource ds = (javax.sql.DataSource)obj;
              conn = ds.getConnection();
              stmt = conn.createStatement();
              stmt.executeUpdate(sql);
      return true;
           }catch(Exception ex){
              ex.printStackTrace();
              throw new SQLException("can't get Connection pool.");
           }finally{
              closeStmt();
              closeConn();
           }
      }
      

  2.   

    我在程序里面手工执行了closestmt和closeconn了!好象写在bean里面不行耶!
      

  3.   

    同意楼上的说法,我刚开始是把initCtx = new InitialContext();放在他的构造函数里的,可是愣是会报错,所以才放到个方法里的,请告诉我构造函数里应该放些什么呢?
      

  4.   

    构造器也可以throws Error可能你initCtx = new InitialContext();有Exception要throw,你也可以try...catch...initCtx = new InitialContext();
    ctx = (Context) initCtx.lookup("java:comp/env");//获取连接池对象
    obj = (Object) ctx.lookup("jdbc/OracleDB");//类型转换
    javax.sql.DataSource ds = (javax.sql.DataSource)obj;
    conn = ds.getConnection();
    stmt = conn.createStatement();你用数据库必需的成员,而且使用中不太会改变的一些固定步骤。
    //:-)
      

  5.   

    你把log拿出来让大家看看啊!
      

  6.   

    呵呵,我刚学的jsp,所以还不知道如何写initCtx = new InitialContext();要throw的Exception怎么写,麻烦超菜先生写一下!
      

  7.   

    我的localhost_log.2003-12-02.txt文件如下:
    2003-12-02 15:18:49 WebappLoader[/test]: Deploying class repositories to work directory C:\Tomcat 4.1\work\Standalone\localhost\test
    2003-12-02 15:18:50 WebappLoader[/test]: Deploy class files /WEB-INF/classes to F:\test\WEB-INF\classes
    2003-12-02 15:18:50 WebappLoader[/test]: Reloading checks are enabled for this Context
    2003-12-02 15:18:50 ContextConfig[/test]: Missing application web.xml, using defaults only
    2003-12-02 15:18:50 StandardManager[/test]: Seeding random number generator class java.security.SecureRandom
    2003-12-02 15:18:50 StandardManager[/test]: Seeding of random number generator has been completed
    2003-12-02 15:18:50 StandardWrapper[/test:default]: Loading container servlet default
    2003-12-02 15:18:50 StandardWrapper[/test:invoker]: Loading container servlet invoker
    2003-12-02 15:18:51 WebappLoader[]: Deploying class repositories to work directory C:\Tomcat 4.1\work\Standalone\localhost\_
    2003-12-02 15:18:51 WebappLoader[]: Deploy class files /WEB-INF/classes to F:\work\golding soft\zlwl\webproject\defaultroot\WEB-INF\classes
    2003-12-02 15:18:51 WebappLoader[]: Reloading checks are enabled for this Context
    2003-12-02 15:18:51 StandardManager[]: Seeding random number generator class java.security.SecureRandom
    2003-12-02 15:18:51 StandardManager[]: Seeding of random number generator has been completed
    2003-12-02 15:18:51 StandardWrapper[:default]: Loading container servlet default
    2003-12-02 15:18:51 StandardWrapper[:invoker]: Loading container servlet invoker
    2003-12-02 15:18:51 HostConfig[localhost]: Deploying configuration descriptor admin.xml
    2003-12-02 15:18:57 HostConfig[localhost]: Deploying configuration descriptor manager.xml
    2003-12-02 15:18:57 WebappLoader[/manager]: Deploying class repositories to work directory C:\Tomcat 4.1\work\Standalone\localhost\manager
    2003-12-02 15:18:57 ContextConfig[/manager]: Configured an authenticator for method BASIC
    2003-12-02 15:18:57 StandardManager[/manager]: Seeding random number generator class java.security.SecureRandom
    2003-12-02 15:18:57 StandardManager[/manager]: Seeding of random number generator has been completed
    2003-12-02 15:18:57 StandardWrapper[/manager:default]: Loading container servlet default
    2003-12-02 15:18:57 StandardWrapper[/manager:invoker]: Loading container servlet invoker
    2003-12-02 15:18:57 HostConfig[localhost]: Deploying web application directory tomcat-docs
    2003-12-02 15:18:57 StandardHost[localhost]: Installing web application at context path /tomcat-docs from URL file:C:\Tomcat 4.1\webapps\tomcat-docs
    2003-12-02 15:18:57 WebappLoader[/tomcat-docs]: Deploying class repositories to work directory C:\Tomcat 4.1\work\Standalone\localhost\tomcat-docs
    2003-12-02 15:18:57 StandardManager[/tomcat-docs]: Seeding random number generator class java.security.SecureRandom
    2003-12-02 15:18:57 StandardManager[/tomcat-docs]: Seeding of random number generator has been completed
    2003-12-02 15:18:57 StandardWrapper[/tomcat-docs:default]: Loading container servlet default
    2003-12-02 15:18:57 StandardWrapper[/tomcat-docs:invoker]: Loading container servlet invoker
    2003-12-02 15:18:57 HostConfig[localhost]: Deploying web application directory webdav
    2003-12-02 15:18:57 StandardHost[localhost]: Installing web application at context path /webdav from URL file:C:\Tomcat 4.1\webapps\webdav
    2003-12-02 15:18:57 WebappLoader[/webdav]: Deploying class repositories to work directory C:\Tomcat 4.1\work\Standalone\localhost\webdav
    2003-12-02 15:18:57 StandardManager[/webdav]: Seeding random number generator class java.security.SecureRandom
    2003-12-02 15:18:57 StandardManager[/webdav]: Seeding of random number generator has been completed
    2003-12-02 15:18:57 StandardWrapper[/webdav:default]: Loading container servlet default
    2003-12-02 15:18:57 StandardWrapper[/webdav:invoker]: Loading container servlet invoker
      

  8.   

    /**
     *大致上这样写吧
     */
    public linkOracle() throws NamingException,SQLException,Exception{
       try{
              initCtx = new InitialContext();/*这个会抛出NamingException这个异常*/
              ctx = (Context) initCtx.lookup("java:comp/env");//获取连接池对象
              obj = (Object) ctx.lookup("jdbc/OracleDB");//类型转换
              javax.sql.DataSource ds = (javax.sql.DataSource)obj;
              conn = ds.getConnection();
              stmt = conn.createStatement();
       }catch(NameingException ne){
          out.println(".....");
          throw ne;
       }catch(SQLException se){
          out.println(".....");
          throw ne;
       }catch(Exception ex){
          out.println(".....");
          throw ex;
       }
    }