JDBC + postgres连接问题

时间:2012-04-08 18:10:32

标签: java postgresql jdbc

当我使用jdbc连接到postgresql数据库时,我遇到了问题。我从pgAdmin3网站上的软件包下载安装了postgresql 9.1(我需要gui)。我正在连接到db whith pgAdmin没有问题,但是当我尝试从java代码连接时,我发生了后续错误:

  

org.postggresql.util.PSQLException:致命:用户postgres的密码验证失败

抛出异常的代码是

public class ConnectionManager {
   private ConnectionManager(){};
   private static boolean driverLoad = false;
   private static final String pgDriver="org.postgresql.Driver";
   private static final String pgUrl="jdbc:postgresql:coffeeDB";
   private static final String usr="postgres";
   private static final String psw="password";

   public static Connection getConnection() throws ClassNotFoundException, SQLException {
       if(!driverLoad) {
           Class.forName(pgDriver);
           driverLoad=true;
       }
       return DriverManager.getConnection(pgUrl, usr, psw);
   }
}

2 个答案:

答案 0 :(得分:1)

我已经解决了。只需在postgresql的URL上添加默认端口

即可

答案 1 :(得分:0)

我在Play 2.2中得到了这个。味道略有不同

[error]c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: null.Message:FATAL: password authentication failed for user "root"

问题是application.conf中url的引号。如果有特殊字符,则需要引号

失败

db.default.url=jdbc:postgresql://myMachine:5432/mydb

作品

db.default.url="jdbc:postgresql://myMachine:5432/mydb"

密码

也是如此

失败

Passw)rd#!

作品

"Passw)rd#!"