7
clojure.java.jdbc의 db-spec
과 관련된 문제로 제 머리카락을 찢어 냈습니다. 저는 최근에 어떤 행동이 바뀌 었는지 궁금합니다. 왜냐하면 최근까지도 이와 비슷한 결과가 나왔기 때문입니다.clojure.java.jdbc의 필수 매개 변수가 누락되었습니다.
내 DB-사양은 다음과 같다 다음 REPL에서 다음
(defn prod []
"Yes, I've verified all of the loaded properties are accurate for the connection"
{ :classname (get-property "acedia.bbts")
:subprotocol (get-property "acedia.bbts.subprotocol")
:subname (str "@" (get-property "acedia.bbts.dev.host") ":" (get-property "acedia.bbts.dev.port") ":" (get-property "acedia.bbts.dev.sid"))
:user (get-property "acedia.bbts.dev.user")
:password (get-property "acedia.bbts.dev.password")})
그리고 :
user => (prod)
{:classname "oracle.jdbc.driver.OracleDriver", :subprotocol "oracle", :subname "@hostname:1521:bbts", :user "user", :password "pass"}
user=> (with-connection bbts-dev (with-query-results rs ["select * from customer where rownum < 10"] (dorun (map #(println (:firstname %)) rs))))
user => (use 'clojure.stacktrace)
nil
user => (e)
java.lang.IllegalArgumentException: db-spec [email protected] is missing a required parameter
at clojure.java.jdbc.internal$get_connection.invoke (internal.clj:147)
clojure.java.jdbc.internal$with_connection_STAR_.invoke (internal.clj:154)
user$eval1116.invoke (NO_SOURCE_FILE:1)
clojure.lang.Compiler.eval (Compiler.java:6465)
clojure.lang.Compiler.eval (Compiler.java:6431)
clojure.core$eval.invoke (core.clj:2795)
clojure.main$repl$read_eval_print__5967.invoke (main.clj:244)
clojure.main$repl$fn__5972.invoke (main.clj:265)
nil
나도는 NO_SOURCE_FILE
가 참조 무엇인지 전혀 모른다. 오라클 드라이버가 액세스 가능하고,로드되었는지 등을 확인했습니다. db-spec에서 누락 된 매개 변수는 무엇입니까?
참고 : MS SQL Server와 동일한 문제가 있습니다.
사용자 $의 eval1116.invoke이 (NO_SOURCE_FILE : 1) 당신이 REPL에서 입력을 의미 –