使用时,我似乎无法使用c3p0连接数据库:
DriverManager.getConnection("jdbc:mysql://localhost:3306/rdmssql", "root", "");
没有抛出任何异常。 但是,当我尝试使用c3p0连接池进行连接时:
private ComboPooledDataSource connectionPool;
...other code
/**
*
* @return
* @throws Exception
*/
public Connection getConnection() throws Exception {
return getInstance().connectionPool.getConnection();
}
/**
*
* @param driver
* @param hostname
* @param databaseName
* @param username
* @param pwd
* @throws Exception
* @throws PropertyVetoException
*/
private void setConnectionDetails(String driver, String hostname, String databaseName, String username, String pwd) throws Exception, PropertyVetoException {
connectionPool.setDriverClass("com.mysql.jdbc.Driver");
connectionPool.setJdbcUrl(driver + "://" + hostname + "/" + databaseName);
connectionPool.setUser(username);
connectionPool.setPassword(pwd);
// the settings below are optional -- c3p0 can work with defaults
// will work on this in the future
connectionPool.setInitialPoolSize(5);
connectionPool.setMinPoolSize(5);
connectionPool.setAcquireIncrement(5);
connectionPool.setMaxPoolSize(20);
connectionPool.setMaxStatements(180);
}
java.sql.SQLException:拒绝用户访问:'root@127.0.0.1'(使用密码:YES)。我不确定我是否错过了我的c3p0的一些配置。
答案 0 :(得分:0)
例外说('使用密码':是)。 驱动程序管理器版本不使用密码(并且成功),而连接池版本DOES(并且失败)。 检查传递给pwd的参数值(并使其发送“”)。