返回首页
当前位置: 主页 > erlang >

Linux下Erlang使用UnixODBC连接数据库

时间:2009-06-20 14:23来源:未知 作者:admin 点击:
erlang有个odbc的模块可以使用传统的数据库,配置步骤如下: 在ubuntu下首先安装这几个包: apt-get -y install unixodbc unixodbc-bin libmyodbc 当然要先安装这几个包才能顺利编译erlang. 然后 cp /us
  

erlang有个odbc的模块可以使用传统的数据库,配置步骤如下:

在ubuntu下首先安装这几个包:
apt-get -y install unixodbc unixodbc-bin libmyodbc

当然要先安装这几个包才能顺利编译erlang.

然后
cp /usr/share/libmyodbc/odbcinst.ini /etc/

然后
root@yufeng-desktop:~# cat /etc/odbc.ini   
[MySQL-Test]
Description =  test
Driver = /usr/lib/odbc/libmyodbc.so
Server = localhost
Database = test
Port = 3306

unixODBC 有 2 個圖形化介面工具可以使用,分別是:
ODBCConfig
DataManager
运行它们 确保你的数据源可用。

再来验证下
root@yufeng-desktop:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 48
Server version: 5.0.67-0ubuntu6 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select version();
+-----------------+
| version()       |
+-----------------+
| 5.0.67-0ubuntu6 |
+-----------------+
1 row in set (0.00 sec)

mysql> Aborted

如果都没有问题 成功一半了。
root@yufeng-desktop:/etc# erl
Erlang R13B (erts-5.7.1) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.1  (abort with ^G)
1> application:start(odbc).
ok
2> {ok, Ref}=odbc:connect("DSN=MySQL-Test;UID=root;PWD=", [{trace_driver, on}]).
{ok,<0.42.0>}
3> odbc:sql_query(Ref, "select version();").
{selected,["version()"],[{"5.0.67-0ubuntu6"}]}
4> odbc:disconnect(Ref).
ok
5>

O yeah, 可以使用这些传统的数据了.

另外pstree看下:

├─sshd───sshd─┬─bash───beam.smp─┬─odbcserver───{odbcserver}
     │             │                 └─5*[{beam.smp}]
     │             ├─bash───pstree
     │             └─bash───wget

也就是说odbc是作为一个OS进程运行的 这样保证了erl的稳定性。

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
发布者资料
amw 查看详细资料 发送留言 加为好友 用户等级:高级会员 注册时间:2009-03-30 13:03 最后登录:2012-01-17 11:01
推荐内容