各位大虾都来给参谋参谋啊,我今天头一回学习数据库连接池,就给弄了个闭门羹,郁闷!出现如下的错误拉,怎么办啊?是什么原因,如何解决啊
Cannot create PoolableConnectionFactory 
(Server connection failure during transaction. Attempted reconnect 3 times. Giving up.)
在线等奥

解决方案 »

  1.   

    你用的是啥连接池啊?我用的是proxool
      

  2.   

    test.jsp内容
    <%@ page language="java"
    import="java.util.*,java.io.*,java.sql.*,javax.naming.*,javax.sql.*"%>
    <%@ page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>dbjsp.jsp</title>
    </head> <body>
    <%
    try {
    Connection con;
    Statement stmt;
    ResultSet rs;
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx
    .lookup("java:comp/env/jdbc/BookDB");
    con = ds.getConnection();
    stmt = con.createStatement();
    stmt
    .executeUpdate("insert into books(id,name,title,price) values('989','tree','tomcat b',44.5)");
    rs = stmt.executeQuery("select id,name,title,price from books");
    out.println("<table border=1 width=400>");
    while (rs.next()) {
    String col1 = rs.getString(1);
    String col2 = rs.getString(2);
    String col3 = rs.getString(3);
    float col4 = rs.getFloat(4);
    col1 = new String(col1.getBytes("ISO-8859-1"), "gb2312");
    col2 = new String(col2.getBytes("ISO-8859-1"), "gb2312");
    col3 = new String(col3.getBytes("ISO-8859-1"), "gb2312");
    out.println("<tr><td>" + col1 + "</td><td>" + col2
    + "</td><td>" + col3 + "</td><td>" + col4
    + "</td></tr>");
    }
    out.println("</table>");
    stmt.executeUpdate("delete from books where id='989'");
    rs.close();
    stmt.close();
    con.close();
    } catch (Exception e) {
    out.println(e.getMessage());
    }
    %>
    </body>
    </html>server.xml内容:<Context path="/helloapp" docBase="helloapp" debug="0" reloadable="true">
          <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource" />
    <ResourceParams name="jdbc/BookDB">
        <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
    <name>maxActive</name>
    <value>100</value>
        </parameter>
        <parameter>
    <name>maxIdle</name>
    <value>30</value>
        </parameter>
        <parameter>
    <name>maxWait</name>
    <value>10000</value>
        </parameter>
        <parameter>
    <name>username</name>
    <value>dbuser</value>
        </parameter>
        <parameter>
             <name>password</name>
    <value>1234</value>
                 </parameter>
        <parameter>
    <name>driverClassName</name>
    <value>com.mysql.jdbc.Driver</value>
        </parameter>
        <parameter>
    <name>url</name>
    <value>jdbc:mysql://localhost:3306/bookdb?                                                  autoReconnect=true</value>
        </parameter>
          </ResourceParams>
    </Context>web.xml内容
    <web-app>
      
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/BookDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
     
    </web-app>http://localhost:8080/helloapp/dbjsp.jsp
      

  3.   

    数据库连接虽然能加快连接速率
    但本人喜欢用ODBC JDBC之类的连接
      

  4.   

    你的服务器 下有没有naming-factory.jar 这个包?
      

  5.   

    楼上的大哥你门好,我的MYSQL数据库服务开着的,因为如果直接用JDBC来连接数据库,表里的数据可以正确的显示在页面上,naming-factory.jar ,naming-common.jar
    naming-resources.jar,naming-java.jar包都在common\lib下呢,
      

  6.   

    aqu0616(古刹飞鹰) :怎么还分什么连接池吗?我也没用过数据源来连数据库,现在是才学习,不知道该怎么做,请你给说说数据源和连接池要一起使用吗?如果是该如何使用啊?谢谢啊。
      

  7.   

    http://www.ourjava.net/database/2007-07-04/1277.html