我正在尝试将连接clojure转换为mysql,但不知何故失败了。 我的project.clj是:
(defproject my-project "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.3.0"]
[org.clojure/java.jdbc "0.2.3"]]
:jvm-opts ["-Djdbc.drivers=com.mysql.jdbc.Driver"])
我的档案是:
(ns my-project
(:require [clojure.java.jdbc :as sql]))
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//localhost:3306/db"
:user "xxx"
:password "xxx"})
我正在尝试从REPL运行以下内容:
(sql/with-connection db (sql/with-query-results rows "show tables;"))
我得到的错误是:
No suitable driver found for jdbc:mysql://localhost:3306/db
我在sql中有一个名为db的数据库,我确保mysql.server在端口3306上运行。 如果有人能给我一个提示,我将不胜感激。 此外,我的错误消息不依赖于我提供的用户名和密码,并且mysql的日志文件中没有显示任何内容。
谢谢!
答案 0 :(得分:12)
您仍然无法将驱动程序放在类路径中。 org.clojure/java.jdbc
仅提供客户端库,而不是驱动程序本身。将以下内容添加到您的:dependencies
:
[mysql/mysql-connector-java "5.1.18"]