Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC&x2B;postgres连接问题_Java_Postgresql_Jdbc - Fatal编程技术网

Java JDBC&x2B;postgres连接问题

Java JDBC&x2B;postgres连接问题,java,postgresql,jdbc,Java,Postgresql,Jdbc,我用jdbc连接到postgresql数据库时遇到问题。我已经从pgAdmin3站点上下载的包中安装了postgresql 9.1(我需要gui)。我连接到db whith pgAdmin时没有问题,但当我尝试从java代码连接时,出现了以下错误: org.postggresql.util.PSQLException:致命:用户postgres的密码身份验证失败 引发异常的代码是 public class ConnectionManager { private ConnectionMana

我用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);
   }
}

我已经解决了。只需在postgresql的URL上添加默认端口,我在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的引号。如果有特殊字符,则需要引号

失败

工作

密码也是一样

失败

工作


显然你提供了错误的密码。顺便说一句:您应该使用url:
jdbc:postgresql://servername/coffeeDB
其中servername是运行PostgreSQL的计算机的名称。如果它在同一台机器上,也可以使用
localhost
。我已经尝试过这样做,但不起作用。密码是正确的,因为它与我用于将pgAdmin GUI连接到已解决的dbI的密码相同。url还需要指定端口。请将您的解决方案发布为答案,并将其标记为问题的解决方案,以便此问题将标记为已回答,其他人可以轻松找到您的解决方案。非常感谢。
db.default.url=jdbc:postgresql://myMachine:5432/mydb
db.default.url="jdbc:postgresql://myMachine:5432/mydb"
Passw)rd#!
"Passw)rd#!"