4

我正在尝试将 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 的日志文件中也没有显示任何内容。

谢谢!

4

1 回答 1

14

您仍然无法将驱动程序放在类路径中。org.clojure/java.jdbc仅提供客户端库,而不是驱动程序本身。将以下内容添加到您的:dependencies:

[mysql/mysql-connector-java "5.1.18"]
于 2012-06-27T12:39:51.957 回答