不会吧,把你的sql拿出来瞧一下

解决方案 »

  1.   

    再就是poolman1.1b版本好象是有问题,用poolman-1.0.4版,我觉得这个版本很好用的。
      

  2.   

    poolman.props文件中的相关配置如下:## oracle for icbch
    db_name.7=icbchb
    db_driver.7=oracle.jdbc.driver.OracleDriver
    db_url.7=jdbc:oracle:thin:@magao:1521:weboradb
    db_username.7=ic 
    db_password.7=ic 
    enableCache.7=true
    cacheSize.7=40
    cacheRefresh.7=100000
      

  3.   

    //利用PoolMan1.4连接池操作数据库的javabean如下:
    package DbBean;
    import java.sql.*;
    public class PoolDbBean {
      private Statement stmt=null;
      ResultSet rs=null;
      private Connection conn=null;
      int  nn=99;  //构造函数
      public PoolDbBean() {
      }  //根据poolman_dbname参数,加载连接池jdbc驱动程序,并建立数据库连接
      public void openDbConn(String poolman_dbname) throws Exception {
        try {
          poolman_dbname="jdbc:poolman://"+poolman_dbname;
          Class.forName("com.codestudio.sql.PoolMan").newInstance();
          conn=DriverManager.getConnection(poolman_dbname);
        }
        catch(Exception ex) {
          System.err.println("PoolDbBean.OpenDbConn:"+ex.getMessage());
          throw ex;
        }
      }  //执行查询类的SQL语句,有ResultSet返回集
      public ResultSet executeQuery(String sql) throws SQLException {
        //stmt=null;
        rs=null;
        try {
          //stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
          //游标是可滚动的,对其他用户对记录的修改是不敏感的,结果集是可修改的
          stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
          rs=stmt.executeQuery(sql);
        }
        catch(SQLException ex) {
          System.err.println("PoolDbBean.executeQuery"+ex.getMessage());
          throw ex;
        }
        return rs;
      }  //执行更新类的SQL语句,无ResultSet返回集, 但是返回更新语句所影响的记录数
      public int executeUpdate(String sql) throws SQLException {
        //stmt=null;  
        rs=null;
        nn=0;
        try {
          stmt=conn.createStatement();
          //stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
          nn=stmt.executeUpdate(sql);    }
        catch(SQLException ex) {
          nn=-100;
          System.err.println("PoolDbBean.executeUpdate"+ex.getMessage());
          throw ex;
        }
        return nn;
      }  //关闭ResultSet和Statement对象(只有使用executeQuery()方法对数据库进行查询并返回了ResultSet记录集,才调用此方法关闭对象)
      public void closeRsStmt() throws SQLException {
        try {
          rs.close();
          stmt.close();
        }
        catch (SQLException ex) {
         System.err.println("PoolDbBean.closeRsStmt:"+ex.getMessage());
         throw ex;
        }
      }  //关闭数据库连接
      public void closeDbConn() throws SQLException {
        try {
          conn.close();
        }
        catch(SQLException ex) {
          System.err.println("PoolDbBean.closeDbConn:"+ex.getMessage());
          throw ex;
        }
      }
    }
          
      

  4.   

    jsp文件如下:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %> <!--errorPage="building.htm" %-->
    <%@ page import="java.util.*" %>   
    <%@ page import="userinfo2.userinfo2" %>
    <jsp:useBean id="myencode" scope="page" class="MD5encode.MD5"/>
    <jsp:useBean id="mydbbean" scope="page" class="DbBean.PoolDbBean"/>
    <link href="css1.css" rel="stylesheet" type="text/css">
    <html> 
    <head>
    <title>欢迎</title>
    </head>
    <body link="#333333">
    <%
    ResultSet rs;
    String sql="";
    int i=0;String picfilename0=" ";
    String pictitle0=" ";
    String picdescription0="";
    String picaddtime0="";
    String id0="0";
      mydbbean.openDbConn("icbchb");sql="select  * from usertab";
    System.err.println(sql);
    rs=mydbbean.executeQuery(sql);
    while(rs.next()){
     out.print(rs.getString("usercode"));
     out.print(rs.getString("username"));
     out.print(rs.getString("nickname"));
     out.print("<br>");
    }
    mydbbean.closeRsStmt();
    System.err.println("  ok!");
    mydbbean.closeDbConn();
    %>
    <p>&nbsp;</p></body>
    </html> 
      

  5.   

    我有具体的连接  “连接池的例子”你可以联系我。msn:[email protected]
      

  6.   

    我在Tomcat的server.xml是这样配置的:
      <Resource name="jdbc/jspdev" auth="Container" type="javax.sql.DataSource"/>
      
      <ResourceParams name="jdbc/jspdev">
      
        <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        
        <parameter>
          <name>driverClassName</name>
          <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
        </parameter>
        
        <parameter>
          <name>url</name>
          <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev</value>
        </parameter>
        
        <parameter>
          <name>username</name>
          <value>bn</value>
        </parameter>
        
        <parameter>
          <name>password</name>
          <value>bn</value>
        </parameter>
        
        <parameter>
          <name>maxActive</name>
          <value>20</value>
        </parameter>
        
        <parameter>
          <name>maxIdle</name>
          <value>10</value>
        </parameter>
        
        <parameter>
          <name>maxWait</name>
          <value>-1</value>
        </parameter>
        
      </ResourceParams>
      

  7.   

    然后这样:
    package com.jspdev.util;import java.sql.*;
    import javax.naming.*;
    import javax.sql.DataSource;
    //一个用于查找数据源的工具类。
    public class DatabaseConn {
    public  static  synchronized Connection getConnection() throws Exception
    {
    try
    {

    Context initCtx = new javax.naming.InitialContext(); 
                Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
                DataSource ds = (DataSource)envCtx.lookup("jdbc/jspdev"); ;
    return ds.getConnection();
    }
    catch(SQLException e)
    {
    throw e;
    }
    catch(NamingException e)
    {
          throw e;
    }

    }}
      

  8.   

    解决了!!!
    将getString()中的字符串参数均改为大写, 没事了!