Я пытался получить соединение с базой данных Oracle от Clojure, но безуспешно.Мой файл project.clj:
(defproject db-examples "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[yesql "0.5.2"]
[org.clojure/java.jdbc "0.4.2"]
[org.postgresql/postgresql "9.4-1201-jdbc41"]]
:resources-paths ["resources/ojdbc6.jar"])
Я добавил ojdbc.jar вручную в папку ресурсов, которую создал в папке своего проекта.
Вот подробности моего подключения:
(def db {:classname "oracle.jdbc.OracleDriver"
:subprotocol "oracle"
:subname "//localhost:1521/my_database"
:user "user"
:password "password"})
и моя функция с запросом:
(defn get-all []
(sql/query db ["select * from my_table"]))
Когда я вызываю эту функцию, я получаю эту ошибку: вызвано java.sql.SQLException Не найдено подходящего драйвера для jdbc: oracle: // localhost: 1521 /my_database
DriverManager.java: 689 java.sql.DriverManager/getConnection
DriverManager.java: 208 java.sql.DriverManager/getConnection
jdbc.clj: 255 clojure.java.jdbc/get-connection
jdbc.clj: 176 clojure.java.jdbc/get-connection
jdbc.clj: 832 clojure.java.jdbc/db-query-with-resultset
jdbc.clj: 790 clojure.java.jdbc/db-query-with-resultset
jdbc.clj: 866 clojure.java.jdbc/query
jdbc.clj: 838 clojure.java.jdbc/query
RestFn.java: 425 clojure.lang.RestFn/invoke
core.clj: 12 db-examples.core/get-all
core.clj: 11 db-examples.core/get-all
core.clj: 14 db-examples.core/eval4272