ODBC 데이터 소스에 clojure를 연결하려고합니다. 데이터 원본은 시스템 DSN "someDatabase"로 구성된 SQL Server 2014 데이터베이스입니다. DB는 Windows 인증을 사용합니다. ODBC 소스가 올바르게 구성되었고 Java의 DriverManager를 사용하여 연결할 수 있습니다.Clojure JDBC ODBC "데이터 소스 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다."
(ns deleteme.core)
(require '[clojure.java.jdbc :as j])
(def db-spec {:classname "sun.jdbc.odbc.JdbcOdbcDriver"
:subprotocol "odbc"
:subname "jdbc:odbc:someDatabase"})
(j/with-connection db-spec
(j/with-query-results rs ["select top 10 * from someTable"]
(doseq [row rs] (println (:name row)))))
project.clj
(defproject deleteme "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.6.0"]
[org.clojure/java.jdbc "0.1.1"]
])
분명히 내가 '
SQLException [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified sun.jdbc.odbc.JdbcOdbc.createSQLException (:-1)
core.clj : 나는 Clojure의/java.jdbc와 연결을 시도하는 다음과 같은 오류가 뭔가 빠졌어요.
OS : 당신은 확실히 올바른 드라이버를 찾는 것 같은 윈도우 7 32 비트
확인하십시오. 결과를 얻을 수 있어요 (.getString rs "someField") – ZeroEric
"jdbc : odbc : someDatabase"에서 "someDatabase"로 서브 네임을 변경하면이 문제가 해결됩니다. 고맙습니다! – ZeroEric