Clojure içindeki bir Postgres veritabanına erişmeye çalışıyorum. Ben AncakPostgreSQL/Clojure ile sürücü sorunu
(sql/with-connection db
(sql/with-query-results recs ["select * from asdf"]
(doseq [rec recs]
(println rec))))
: Sonra sonra böyle bir veritabanını erişmeye çalışıyorum
(def db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname "//localhost/testdb"
:username "postgres"
:password "postgres"})
: Böyle veritabanını kurma, DBS kullanan projelerin örneklerinden bir ton buldum 'Bu hatayı alıyorum:
No suitable driver found for jdbc:postgresql://localhost/testdb
[Thrown class java.sql.SQLException]
sorunun :classname "org.postgresql.Driver"
ile olduğunu varsayarak, ama ben çözüm ne olduğundan emin değilim. Bu sürücüyü vermem gerektiğini hayal ediyorum ama nereden alacağımı ya da nereye koyacağımı bilmiyorum. postgresql.org adresinden indirilebilecek bir indirme var - bunu indirmeli miyim? Yoksa proje ayarlarımda bir bağımlılık olarak indirmek için lein
almak için koyabileceğim bir şey var mı? Bir kez var, nereye gidiyor?
Düzenleme (yanıtta @mtnygard için): benim project.clj içinde bu var:
(defproject hello-www "1.0.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.2.1"]
[postgresql/postgresql "8.4-702.jdbc4"]
...]
Benim postgres sürüm 8.4:
[/media/data/dev/clojure/hello-www (postgres *)]$ postgres --version
postgres (PostgreSQL) 8.4.8
project.clj dosyasına postgresql ekledikten sonra "lein deps" çalıştırdınız mı? – mtnygard
Ayrıca, projenizin ana gövdesini nasıl yürütüyorsunuz? "lein deps", sadece kavanozları lib/koyar. Programınızı yapılandırılmış bir sınıf yolu ile çalıştırmanız gerekiyor. Örneğin, "lein run" ve "lein repl" her ikisi de sınıf yolunuzu kuracak. – mtnygard
Sorunu bulamadınız! Lein deps 'i çalıştırmıştım, fakat REPL'imi güncellememiştim. Swank'ı yeniden başlatmak bana bir bağlantı verdi. Teşekkürler! – Topher