1

私は彼らのウェブサイトのテストコードを使用してBoneCPをテストしようとしています。ただし、オンラインでホストされているサーバーへの接続を実際に確立できないようです。私のコードは以下のとおりです。私は初心者なので、ルーキーエラーが発生している可能性があります。ご協力いただきありがとうございます!

 package org.chocolms.db;

 import java.sql.*; 
 import com.jolbox.bonecp.BoneCP;
 import com.jolbox.bonecp.BoneCPConfig;
 import com.jolbox.bonecp.BoneCPDataSource;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;

 public class ConnPoolTest
 {
public static void main(String[] args) throws Exception{

    BoneCP connectionPool = null;
    Connection connection = null;

    try {
        // load the database driver (make sure this is in your classpath!)
        Class.forName("com.mysql.jdbc.Driver");
    } catch (Exception e) {
    }

    try {
        // setup the connection pool

        BoneCPConfig config = new BoneCPConfig();
        config.setJdbcUrl("jdbc:mysql:mysql.lms.shawnathon.com");   //could the problem be here?
        // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb
        config.setUsername("removedforSecurity"); 
        config.setPassword("removedforSecurity");
        config.setMinConnectionsPerPartition(5);
        config.setMaxConnectionsPerPartition(10);
        config.setPartitionCount(1);

        System.out.print("code reaches here");
         connectionPool = new BoneCP(config);

          System.out.print("code doesn't reache here");     // where I'm stuck

        connection = connectionPool.getConnection(); // fetch a connection
   System.out.print("Or here");
        if (connection != null){
            System.out.println("Connection successful!");
            Statement stmt = connection.createStatement(); // do something with the connection.
            ResultSet rs = stmt.executeQuery("SELECT resource_name, BOOK.resource_id"
                                            + "FROM BOOK, RESOURCE "
                                            + "WHERE BOOK.resource_id = RESOURCE.resource_id;"); 

            while(rs.next()){
                System.out.println(rs.getString(1)); // printing everyting in column 1
            }
        }
        connectionPool.shutdown(); // shutdown connection pool.
    } catch (SQLException e) { System.out.print("cannot");
    } finally {
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
            }
        }
    }
}

}

4

1 に答える 1

3

コメントを入力すると、JDBCURLには接続するホストとデータベースが含まれている必要があります。そのため、接続するデータベースがありません。したがって、JDBCURLは次のようになります。

config.setJdbcUrl("jdbc:mysql://mysql.lms.shawnathon.com/database");

注:データベースのホストはmysql.lms.shawnathon.comだと思います

于 2012-11-19T19:58:07.870 に答える