我正在尝试从Java eclipse连接到postgreSQL
以下是数据库结构的快照。
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)
有些人可以帮助我解决我的问题
希望尽快收到一些人的回复!!
答案 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”