【发布时间】:2014-08-25 02:39:25
【问题描述】:
我收到一条错误消息,指出 java.sql.SQLException:没有找到适合的驱动程序
jdbc:postgresql://localhost:
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(); }
}
}
【问题讨论】:
-
您的类路径中有 PostgreSQL JDBC 驱动程序吗?
-
JAVA 版本是 jdk1.7.0_45,PostgreSQL 是 9.3 Build 1102, - 在 JAVA BIN、JAVA LIB 和 POSTGRESQL LIB 文件夹中是 postgresql-9.3-1102.jdbc4.jar 和 postgresql-9.3-1102 .jdbc41.jar,-所有 JAR 文件夹都在 CLASSPATH 中,错误是 - C:\AZ_Fantasy5>java -cp。 JdbcPostgresqlConnection java.sql.SQLException: 找不到适合 jdbc:postgresql://localhost:5432/testDBMS 的驱动程序
-
jar 文件在我的类路径中 - C:\Documents and Settings\ckemp>echo %CLASSPATH% C:\Program Files\Java\jdk1.7.0_45\lib;C:\Program Files\ Java\jdk1.7.0_45\bin;C:\P rogram Files\PostgreSQL\9.3\lib
-
不,他们不是。因为您使用的是 java 的
-cp选项,它将程序的类路径设置为-cp选项的值,因此忽略了 CLASSPATH 环境变量。永远不要使用全局 CLASSPATH。始终使用-cp传递显式类路径。顺便说一句,即使您不使用 -cp,它们也不会在类路径中。查看您的类路径:它是否包含 .jar 文件?不,它没有。它只包含目录。
标签: java postgresql jdbc