没有适合 postgres 的驱动程序,即使 Class.forName 有效?
No suitable driver for postgres, even though Class.forName works?
我正在尝试使用以下驱动程序连接到我的 postgresql 数据库:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1204-jdbc41</version>
</dependency>
我正在使用以下代码:
Class.forName("org.postgresql.Driver");
System.out.println("Driver version: " + org.postgresql.Driver.getVersion());
String jdbcUrl = "jdbc:postgresql://localhost:5432";
String user = "postgres";
String pass = "password"; // super secure
Connection c = DriverManager.getConnection(jdbcUrl, user, pass);
我得到以下输出
Driver version: PostgreSQL 9.4 JDBC4.1 (build 1204)
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at [ the line Connection c = DriverManager... ]
那么这个9.4的驱动怎么不合适呢?我知道我可以通过我的 psql 命令行登录,但我似乎无法通过 Java.
让它工作
我已经做过很多次这样的应用程序,但似乎看不出我在这里遗漏了什么...
全部归功于 a_horse_with_no_name 的评论,但这个问题需要回答。
在连接字符串中指定数据库或添加尾部斜杠。
不好url:
jdbc:postgresql://localhost:5432
好:
jdbc:postgresql://localhost:5432/
或
jdbc:postgresql://localhost:5432/thebestdatabase
我正在尝试使用以下驱动程序连接到我的 postgresql 数据库:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1204-jdbc41</version>
</dependency>
我正在使用以下代码:
Class.forName("org.postgresql.Driver");
System.out.println("Driver version: " + org.postgresql.Driver.getVersion());
String jdbcUrl = "jdbc:postgresql://localhost:5432";
String user = "postgres";
String pass = "password"; // super secure
Connection c = DriverManager.getConnection(jdbcUrl, user, pass);
我得到以下输出
Driver version: PostgreSQL 9.4 JDBC4.1 (build 1204)
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at [ the line Connection c = DriverManager... ]
那么这个9.4的驱动怎么不合适呢?我知道我可以通过我的 psql 命令行登录,但我似乎无法通过 Java.
让它工作我已经做过很多次这样的应用程序,但似乎看不出我在这里遗漏了什么...
全部归功于 a_horse_with_no_name 的评论,但这个问题需要回答。
在连接字符串中指定数据库或添加尾部斜杠。
不好url:
jdbc:postgresql://localhost:5432
好:
jdbc:postgresql://localhost:5432/
或
jdbc:postgresql://localhost:5432/thebestdatabase