2017-05-09 18 views
0

私はejabberdというサーバをインストールしたAmazonのLinuxインスタンスを持っています その中にerlangで書かれたコードがdb.erlとしてあります。Erlangとmysql odbcを接続する際のエラー

-module(db). 
-export([connection/0]). 
connection()-> 
odbc:start(), 
ConnectionString = "DSN=qaz;UID=root;PWD=abc", 
{ok, Ref} = odbc:connect(ConnectionString, []), 
Ref. 

しかし、私、このコードを実行しようとしているとき、私は私が私の/etc/odbc.iniを編集し、次の構成

と/root/.odbc.iniいる

[error] gen_server myapp terminated with reason: no match of right hand 
value {error,"[unixODBC][Driver Manager]Can't open lib 
'/usr/lib/libmyodbc5.so' : file not found SQLSTATE IS: 01000 Connection to 
database failed."} in db:connection/0 line 15 

10:34:15.111 [error] CRASH REPORT Process myapp with 0 neighbours exited 
with reason: no match of right hand value {error,"[unixODBC][Driver 
Manager]Can't open lib '/usr/lib/libmyodbc5.so' : file not found SQLSTATE 
IS: 01000 Connection to database failed."} in db:connection/0 line 15 in 
gen_server:terminate/7 line 812 

10:34:15.111 [error] Supervisor frequency_sup had child myapp started with 
myapp:start() at <0.502.0> exit with reason no match of right hand value 
{error,"[unixODBC][Driver Manager]Can't open lib '/usr/lib/libmyodbc5.so' : 
file not found SQLSTATE IS: 01000 Connection to database failed."} in 
db:connection/0 line 15 in context child_terminated 

としてエラーが出ます

[ODBC Data Sources] 
qaz= ODBC for MySQL 



[qaz] 
Driver  = /usr/lib64/libmyodbc5.so 
Description = ODBC for MySQL 
SERVER  = localhost 
PORT  = 3306 
USER  = root 
Password = abc 
Database = mydb 

と私のODBCINST.INIファイルこの

# Example driver definitions 

# Driver from the postgresql-odbc package 
# Setup from the unixODBC package 
[PostgreSQL] 
Description = ODBC for PostgreSQL 
Driver  = /usr/lib/psqlodbc.so 
Setup  = /usr/lib/libodbcpsqlS.so 
Driver64 = /usr/lib64/psqlodbc.so 
Setup64  = /usr/lib64/libodbcpsqlS.so 
FileUsage = 1 


# Driver from the mysql-connector-odbc package 
# Setup from the unixODBC package 
[MySQL] 
Description = ODBC for MySQL 
Driver  = /usr/lib/libmyodbc5.so 
Setup  = /usr/lib/libodbcmyS.so 
Driver64 = /usr/lib64/libmyodbc5.so 
Setup64  = /usr/lib64/libodbcmyS.so 
FileUsage = 1 

[MySQL ODBC 5.3 Unicode Driver] 
Driver   = /usr/lib/libmyodbc5w.so 
UsageCount    = 1 

[MySQL ODBC 5.3 ANSI Driver] 
Driver   = /usr/lib/libmyodbc5a.so 
UsageCount    = 1 
のように見えます

そして、私は、コマンドを実行すると

isql qaz [root [abc]] 

私は

としてエラーが発生します
[ISQL]ERROR: Could not SQLConnect 

誰もが私に問題を伝え、私が行っているのlinux でODBCの構成を設定する正しい方法で私を導くことができますそれはWindows上でもうまくいきますが、私はLinuxにあまり慣れていません。 ありがとうございました

答えて

0

これは、mySQLによって提供されるODBCドライバ(ODBCコネクタ)です。ドライバをあらかじめインストールしましたか? mysql odbc driverのインストール方法を検索してください。

しかし、mysql/otpのような別のmysqlドライバを使用し、ODBCドライバは使用しないことをお勧めします。 mySqlでODBCドライバを使用する際に問題が発生しました。

関連する問題