【发布时间】:2020-05-22 20:23:48
【问题描述】:
我知道以前有人问过这个问题,但现有答案无济于事。
现有的答案往往会告诉您将 postgresql-.jar 放在 /path/to/db/lib/ 中,我这样做了;或以 MySQL 为中心。我已经尝试了 > 5 个不同的答案,但没有任何帮助。
这是我在 Clojure REPL 上运行的内容:
(require '[next.jdbc :as jdbc])
(def db {:dbtype "postgres" :dbname "whatever" :user "whoever" :password "yeahright"})
(jdbc/get-connection db)
我得到这个错误:
Execution error (SQLException) at java.sql.DriverManager/getConnection (DriverManager.java:702).
No suitable driver found for jdbc:postgresql://127.0.0.1:5432/<db_name>
我知道 postgresql-42.2.12.jar 在我的计算机上的位置,我使用 :classpath-add 在 project.clj 中添加了该路径。我已经仔细检查了 URL 的语法,据我所知它是正确的。
Java 版本:
$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
$ lein -version
Leiningen 2.9.1 on Java 10.0.1 Java HotSpot(TM) 64-Bit Server VM
我在 Ubuntu 和 Mac 上遇到了同样的问题。有谁知道怎么回事?
【问题讨论】:
-
我以为您只需要将驱动程序放到您的 lein
:deps: ..[org.postgresql/postgresql "42.2.12"]。总是对我有用。 -
发布您的 project.clj 文件
-
@leetwinski 您可以将您的评论移至答案吗?那行得通。
标签: postgresql jdbc clojure leiningen