我收到一个错误,指示java.sql.SQLException:找不到合适的驱动程序 JDBC:在PostgreSQL://本地主机: 5432 / testDBMS。
import java.sql.*;
import java.util.*;
public class JdbcPostgresqlConnection {
public static void main(String[] args) {
Connection conn3 = null;
try {
String dbURL3 = "jdbc:postgresql://localhost:5432/testDBMS";
Properties parameters = new Properties();
parameters.put("user", "pgmrHere");
parameters.put("password", "111111");
conn3 = DriverManager.getConnection(dbURL3, parameters);
}
catch (SQLException ex) { ex.printStackTrace(); }
}
}
答案 0 :(得分:2)
java -cp . JdbcPostgresqlConnection
所以,显然,类路径中唯一的东西是当前目录(.
)。 postgresql驱动程序jar不是。您需要将其添加到类路径中:
java -cp .:/path/to/driver.jar JdbcPostgresqlConnection
在Linux / MacOS上,或
java -cp .;c:\path\to\driver.jar JdbcPostgresqlConnection
在Windows上。
答案 1 :(得分:0)
As the error says java -cp . JdbcPostgresqlConnection java.sql.SQLException:
No suitable driver found for jdbc:postgresql://localhost: 5432/testDBMS
这意味着您没有在类路径中包含postgresql.jar
尝试这样执行,我假设它是Windows操作系统,看到你的错误
java -cp .;pathOfYourDriverjar/postgresql.jar JdbcPostgresqlConnection
答案 2 :(得分:0)
您是否未在代码中加载驱动程序?定义jdbc.drivers
属性,将其设置为org.postgresql.Driver
或将Class.forName("org.postgresql.Driver")
添加到您的代码中。
答案 3 :(得分:0)
编译的语法是 - java -cp .;“C:\ Program Files \ PostgreSQL \ 9.3 \ lib \ postgresql-9.3-1102.jdbc4.jar”JdbcPostgresqlConnection。注意事项2; jar规范和jar文件周围的引号不能在名称中带有空格的文件夹中。在* nix系统上通常不是这种情况,但在Windows系统中经常遇到这种情况。请注意,当我将jar文件放在与java程序相同的文件夹中时,我可以删除双引号 - java -cp .; C:\ AZ_Fantasy5 \ postgresql-9.3-1102.jdbc4.jar JdbcPostgresqlConnection。特别感谢JB Nizet指出这种情况。