错误从Java eclipse连接postgreSQL

时间:2013-02-04 23:06:03

标签: java eclipse postgresql

我正在尝试从Java eclipse连接到postgreSQL

以下是数据库结构的快照。 Data base Structure

connection = DriverManager.getConnection(
                    "jdbc:postgresql://localhost:5432/postgres", "postgres",
                    "admin");

当我尝试连接到postgres数据库时,它的工作原理非常好。但这是我不想连接的默认数据库。

 connection = DriverManager.getConnection(
                        "jdbc:postgresql://localhost:5432/postgres", "han2012205",
                        "admin");

当我试图访问han2012205时,它会抛出此错误。

org.postgresql.util.PSQLException: FATAL: password authentication failed for user "han201205"
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:393)
    at org.postgresql.Driver.connect(Driver.java:267)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at connectToDB.dbConnection.connectdatabase(dbConnection.java:26)
    at AdapterTest.main(AdapterTest.java:22)

有些人可以帮助我解决我的问题

希望尽快收到一些人的回复!!

2 个答案:

答案 0 :(得分:7)

你误解了你正在做的电话。您正在使用DriverManager.getConnection(String, String, String) - 其中第二个参数是用户,第三个参数是密码。那是指定要连接的数据库的方式。

我怀疑你想要:

connection = DriverManager.getConnection(
                "jdbc:postgresql://localhost:5432/han201205", "postgres",
                "admin");

注意数据库名称是JDBC连接URL的最后一部分,不是第二个参数。 (当然,您可能只需要用户名和密码......)

有关详细信息,请参阅Postgres JDBC documentation

答案 1 :(得分:2)

此外,该数据库名为“han201205”,您的代码正在寻找带有额外“2”的“han2012205”