Erlang中的Oracle DB连接处理程序

时间:2015-03-02 08:51:32

标签: database oracle handler redhat erl

我是erlang的新手,抱歉,我可能会遗漏一些非常小的东西。我正在尝试使用以下代码为Erlang中的oracle数据库处理程序,红帽。

#!/usr/bin/env escript
-module(test).
-compile(export_all).

-define(CONNECT_OPTIONS,[
                {auto_commit, on},
                {scrollable_cursors, off},
                {trace_driver, on}
            ]).
-define(CONNECT_STRING,"DSN=oracle10g;DBQ=*******;UID=********;PWD=********").

main(_)->
    odbc:start(),
    {ok, ConnObj} = odbc:connect(?CONNECT_STRING,?CONNECT_OPTIONS),
        io:format(ConnObj).

我安装了unix odbc和oracle瘦客户端,相应的DSN也在/etc/odbc.ini文件和〜/ .odbc.ini文件中声明。

但是我遇到了以下错误:

escript:异常错误:右侧值不匹配{错误,                                                     “[unixODBC] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序SQLSTATE IS:00000与数据库的连接失败。”}

有人可以解释如何在erlang中建立到oracle DB的连接处理程序。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我建议您检查以下两个文件:

/etc/odbc.ini

/etc/odbcinst.ini

我遇到了类似的错误,但纠正这些值解决了我的问题:

我的odbc.ini中的数据:

[REQUIRED_SID]

驱动器= SOME_DRIVER_NAME

描述=

痕量=

服务器=

PORT =

数据库=

用户ID =

密码=

和odbcinst.ini

描述=

[SOME_DRIVER_NAME]

驱动器=

根据需要添加值。