Erlang 中的 Oracle DB 连接处理程序
Posted
技术标签:
【中文标题】Erlang 中的 Oracle DB 连接处理程序【英文标题】:Oracle DB connection handler in Erlang 【发布时间】: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 的连接处理程序。
提前致谢。
【问题讨论】:
【参考方案1】:我建议你检查以下两个文件:
/etc/odbc.ini
和
/etc/odbcinst.ini
我遇到了类似的错误,但更正这些值解决了我的问题:
我的 odbc.ini 中的数据:
[REQUIRED_SID]
Driver=SOME_DRIVER_NAME
描述=
追踪=
服务器=
端口=
数据库=
用户 ID=
密码=
在 odbcinst.ini 中
描述=
[SOME_DRIVER_NAME]
司机=
根据需要添加值。
【讨论】:
以上是关于Erlang 中的 Oracle DB 连接处理程序的主要内容,如果未能解决你的问题,请参考以下文章