0

私はheroku compojure tutorialに従っています。チュートリアルでテーブルを作成するポイントに到達すると、次のエラー メッセージが表示されます。

user=> (require '[clojure.java.jdbc :as sql])
nil
user=> (sql/with-connection (System/getenv "DATABASE_URL")
  #_=> (sql/create-table :testing [:data :text]))
IllegalArgumentException db-spec postgresql://localhost:5432/lord is missing a required  parameter  clojure.java.jdbc.internal/get-connection (internal.clj:147)

データベースを作成したLinuxユーザーの名前とそのユーザーのパスワードをDATABASE_URLに追加しようとしましたが、うまくいきませんでした。ここに何かが欠けていて、それが何であるかわかりません。db-spec が定義されている場所は正しい質問かもしれませんが、正確にはわかりません。

4

1 に答える 1

0

このようなマップに接続を入れてみてください (これは mysql 固有ですが、要点はわかります):

  (def db-conn {
           :classname "com.mysql.jdbc.Driver" ;must be in classpath
           :subprotocol "mysql"
           :subname (str "//" DBHOST ":" DBPORT "/" db-name)
           ; Any additional keys are passed to the driver as driver-specific properties.
           :user DBUSER
           :password DBPASS})
  (sql/with-connection db-conn 
    (sql/create-table :testing [:data :text]))))

お役に立てれば。

于 2013-09-23T20:51:40.100 に答える