我需要采取哪些步骤才能使我的Informix JDBC驱动程序成为korma支持的数据库? Informix有一个jdbc驱动程序,我已经使用驱动程序的演示Java程序进行了测试。我的连接参数有效。
我已经开始了一个Clojure项目,但我仍然坚持要尝试甚至错误,所以我可以从那里继续前进,更不用说连接了。
My 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,并且会发生魔法。我对于创造什么样的定义感到困惑。任何帮助或指向示例的指示将不胜感激。
答案 0 :(得分:1)
尝试使用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)
看看不同的定义in the source code,postgres
只是这些属性的简写。即使没有informix
预定义函数,您也可以自己动手。
根据to this doc驱动程序名称为com.informix.jdbc.IfxDriver
,您还可以检查数据库URI:
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"]]