0

当我使用 jdbc 连接到 postgresql 数据库时出现问题。我已经从 pgAdmin3 站点上的包下载安装了 postgresql 9.1(我需要 gui)。我正在使用 pgAdmin 毫无问题地连接到 db,但是当我尝试从 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);
   }
}
4

2 回答 2

1

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

于 2012-04-12T16:49:21.527 回答
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#!"
于 2014-09-01T06:18:23.197 回答