Подключение к базе данных
В более поздних версиях программного обеспечения (Clojure 1.6+, Microsoft SQL Server 2012 и Microsoft JDBC Driver 4.0 для SQL Server) код, публикуемый Ash, работает только с этими модификациями.Я также обновил его в соответствии с моими текущими рекомендациями по стилевому оформлению кода Clojure.
(require '[clojure.java.jdbc :as jdbc])
;; you can optionally specify :host and :port to override the defaults
;; of "127.0.0.1" and 1433 respectively:
(def db-spec {:dbtype "mssql"
:dbname "database-name"
:user "sql-authentication-user-name"
:password "password"})
(let [rows (jdbc/query db-spec
["select * from sys.objects where type = 'U'"])]
(doseq [row rows] (println (:name row)))))
В случае наличия нескольких экземпляров SQL Server на одном компьютере, вы можете указать имя экземпляра как часть:host
вот так (в данном примере это имя экземпляра SQL Server Express по умолчанию на том же компьютере):
:host "localhost\\sqlexpress"
Настройка Leiningen
Для правильной работы Leiningen с драйвером Microsoft JDBC, объедините следующее с defproject в project.clj:
:dependencies [[org.clojure/java.jdbc "0.6.1"]
[com.microsoft.sqlserver/mssql-jdbc "6.3.6.jre8-preview"]]