gpt4 book ai didi

postgresql - Clojure - Postgres 找不到合适的驱动程序

转载 作者:行者123 更新时间:2023-11-29 11:58:58 24 4
gpt4 key购买 nike

我已经将我的 postgres 数据库定义为

(def db {:subprotocol "postgresql"
:subname "//localhost:5432/mydb"
:user "admin"
:password "password"})

我还定义了一个函数

(defn get-users []
(sql/query db ["select * from users"]))

其中 sql 是 [clojure.java.jdbc :as sql]

如果我运行 (get-users) 我得到错误

SQLException No suitable driver found for jdbc:postgresql://127.0.0.1:5432/mydb  java.sql.DriverManager.getConnection (DriverManager.java:689)

我从其他 Java 帖子中看到我需要使用 Class.forName("org.postgresql.Driver"); 加载驱动程序

1) 这是什么意思?

2) 我该怎么做/如何解决我在 Clojure 中的错误?

最佳答案

解决方案是将此添加到您的项目中的 :dependencies.clj:

[org.postgresql/postgresql "42.1.4"]

此外,虽然您的数据库定义很好,但您也可以单独定义主机、端口和数据库名称,而不是 :subname 的连接字符串,这使得它更加模块化和可组合如果其中任何一个发生变化:

(def db {:dbtype "postgresql"
:dbname "mydb"
:host "localhost"
:port 5432
:user "userrole"
:password "password"})

关于postgresql - Clojure - Postgres 找不到合适的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42328159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com