获得以下错误 - 找不到适合jdbc的驱动程序:postgresql:// localhost:5432 / testDBMS

时间:2014-08-24 06:31:16

标签: java postgresql jdbc

我收到一个错误,指示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(); }
  }
}

4 个答案:

答案 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指出这种情况。