【发布时间】:2018-05-13 18:21:15
【问题描述】:
我正在尝试将我的 sql 数据库连接到我的 java 项目,但由于某种原因 postgresql.Driver (org.postgresql.Driver) 似乎不起作用。
我已确保导入所有 sql 方法等 (java.sql.*)
我尝试运行的方法如下所示:
public boolean createUserInDB(String username, String password, boolean b, java.util.Date createdTime, java.util.Date lastLoginTime) {
try {
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
Statement st = conn.createStatement();
String sql = "INSERT INTO login(brugernavn, kodeord, status, created_time, last_login_time) "
+ "VALUES(" + username + ", " + password + ", " + true + ", "
+ createdTime + ", " + lastLoginTime + ");";
st.executeUpdate(sql);
System.out.println("Query successfull");
} catch (Exception e) {
System.out.println(e.getMessage());
}
return true;
}
不要介意查询的第一行(属性是丹麦语)。
运行此方法时,它唯一要做的就是打印出“org.postgresql.Driver”,然后返回 true,从而告诉用户(在 GUI 中)已经进行了查询。
我已经为 postgresql 版本 42.2.2 下载了最新的驱动程序,但仍然没有成功。
我错过了什么?
【问题讨论】:
-
在每个 JDBC 驱动程序中连接这样的查询是错误的。在调试器中查找查询
-
你能再具体一点吗?我还是个新手。
-
这里没有打印“org.postgresql.Driver”。使用调试器,查看变量等。在异常上设置断点。我几乎可以肯定查询会给出异常
-
在我看来,PostgreSQL JDBC 驱动程序 JAR 似乎不在类路径中。您得到的异常很可能是 ClassNotFoundException,它通常只包含异常消息中缺少的类的名称。 (尝试在
catch块中写e.printStackTrace()来确认这一点。) Stack Overflow 包含大量问题来帮助您添加 JAR,例如 stackoverflow.com/questions/4879903。 -
@LukeWoodward 我现在做了一些修改并连接到数据库,但它说如果 SSL 关闭。 org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "MyIpAdress", user "g", database "ksevsemh", SSL off 我该如何解决这个问题?
标签: java postgresql jdbc