2015-03-02 80 views
1

我是erlang的新手,對不起,我可能會丟失一些非常小的東西。我正在嘗試下面的代碼來處理Erlang中的oracle數據庫處理程序。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數據庫的連接處理程序。

在此先感謝。

回答

0

我建議你檢查以下兩個文件:

/etc/odbc.ini

/etc/odbcinst.ini

我得到一個類似的錯誤,但更正這些值解決了我的問題:

我的odbc.ini中的數據:

[REQUIRED_SID]

驅動= SOME_DRIVER_NAME

描述=

痕量=

服務器=

PORT =

數據庫=

用戶ID =

密碼=

和ODBCINST.INI

描述=根據需要

[SOME_DRIVER_NAME]

驅動=

添加值。