我需要采取哪些步骤才能让我的Informix JDBC驱动程序成为Korma中支持的数据库?Informix有一个JDBC驱动程序,我已经通过驾驶员的演示Java程序进行了测试。我的连接参数可行。
我已经开始了一个Clojure项目,但是我仍然坚持要遇到错误的方法,所以我可以从那里前进,更不用说连接了。
我的Informix JDBC驱动程序3.50在Maven
mvn install:install-file
-DgroupId=com.informix
-DartifactId=ifxjdbc
-Dversion=3.50
-Dfile=/opt/IBM/Informix_JDBC_Driver/lib/ifxjdbc.jar
-Dpackaging=jar
-DgeneratePom=true
以下示例是针对Postgres的。我想为Informix做到这一点。我想知道我必须做什么,以便可以使用类似于
的内容为Informix数据库创建连接(defdb prod (postgres {:db "korma"
:user "korma"
:password "kormapass"
;; optional keys
:host "myhost"
:port "4567"
:delimiters ""}))
我很确定我不能仅仅在上面的示例中使用" Informix"代替Postgres,并且魔术会发生。我只是对要创建的定义感到困惑。对示例的任何帮助或指示都将不胜感激。
尝试使用classname
和subprotocol
属性:
(def db-config {:classname "com.informix.jdbc.IfxDriver"
:subprotocol "informix-sqli"
:subname (format "//%s:1533/%s"
"123.45.67.89"
"testDB:INFORMIXSERVER=myserver")
:user "user"
:password "password"})
(defdb db db-config)
看一下源代码中的不同定义,postgres
只是这些属性的速记。即使没有informix
预定义的功能,您也可以滚动自己的。
根据此文档驱动程序名称是com.informix.jdbc.IfxDriver
,您也可以在此检查数据库uris:
The following example shows a database URL that connects
to a database called testDB:
jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=rdtest;password-test
还记得将适当的依赖性信息添加到您的project.clj
文件:
:dependencies [...
[com.informix.jdbc/com.springsource.com.informix.jdbc "3.0.0.JC3"]
...
和要找到该依赖的Springsource存储库:
:repositories [["springsource-release" "http://repository.springsource.com/maven/bundles/release"]
["springsource-external" "http://repository.springsource.com/maven/bundles/external"]]