【问题标题】:Oracle DB connection handler in ErlangErlang 中的 Oracle DB 连接处理程序
【发布时间】:2015-05-02 13:33:30
【问题描述】:

我是 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: 异常错误:右侧值不匹配 {error, "[unixODBC][Driver Manager]Data source name not found, and no default driver specified SQLSTATE IS: 00000 Connection to database failed."}

谁能解释一下如何在 erlang 中建立到 oracle DB 的连接处理程序。

提前致谢。

【问题讨论】:

    标签: database oracle handler redhat erl


    【解决方案1】:

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

    /etc/odbc.ini

    /etc/odbcinst.ini

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

    我的 odbc.ini 中的数据:

    [REQUIRED_SID]

    Driver=SOME_DRIVER_NAME

    描述=

    追踪=

    服务器=

    端口=

    数据库=

    用户 ID=

    密码=

    在 odbcinst.ini 中

    描述=

    [SOME_DRIVER_NAME]

    司机=

    根据需要添加值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 2013-09-29
      • 2020-09-28
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      相关资源
      最近更新 更多