ErlMySQL --- 另一个用 Erlang 编写的 MySQL 客户端
来源:互联网 发布:mac windows 鼠标右键 编辑:程序博客网 时间:2024/04/29 15:12
ErlMySQL 是一个用 Erlang 编写的 MySQL 客户端,并提供接近 Connector/C 的 API。
ErlMySQL 采用底层的 TCP/IP Socket 连接到 MySQL 服务器,可最大限度的提升通讯的性能。
下载地址:
http://sourceforge.net/projects/erlmysql/
http://es.sourceforge.jp/projects/sfnet_erlmysql/releases/
首先系统需要安装erlang运行环境.
下载erl.mysql.client-vsn-1.1.3.zip文件,解压后进入目录,运行如下命令编译。
erlc -I include/ -o ebin/ src/*.erl
关于编译的更多参数,参考:http://erlang.org/doc/man/erlc.html
注意,文件名比较长,被我修改成mysql.client。如果ebin目录不存在,需要预先手动创建。
另外,如果运行时遇到如下错误:exception error: undefined function my:start_client/0
可以使用code:add_path在erlang路径中添加类库: code:add_path("/usr/lib/erlang/lib/mysql.client/ebin/").
关于code模块的用法,参考:http://erlang.org/doc/man/code.html
如果想在控制台里运行,可以使用-pa 参数启动erlang.
erl -pa /usr/lib/erlang/lib/mysql.client/ebin/
关于启动的更多参数,参考:http://erlang.org/doc/man/erl.html
关于该类库用法的更多资料:
http://www.trapexit.org/MySQL_native_client
以下是测试代码(仅供参考):
-module(mysql).-compile(export_all).-include("my.hrl").-include("test.hrl").start() ->code:add_path("/home/xxxx/Downloads/mysql.client/ebin"),my:start_client(),DS_def = #datasource{host = ?TEST_SERVER_HOST_NAME, port = ?TEST_SERVER_PORT, database = ?TEST_DB_NAME, user = ?TEST_USER,password = ?TEST_PASSWORD, flags = #client_options{trans_isolation_level = serializable}},my:new_datasource(datasource, DS_def).get_connection() ->my:get_connection(datasource).fetch(Table) ->start(),Conn = get_connection(),{Metadata, Rowdata} = my:execute_query(Conn,"SELECT * FROM " ++ Table ++ " order by id"),my:close_connection(Conn),#metadata{field_metadata=Fields} = Metadata,Columns = lists:map(fun(#field_metadata{name=Name}) -> Name end, Fields),io:format("Columns: ~p~n", [Columns]),DataRows = lists:map(fun(#rs_row_data{data=Data}) -> Data end, Rowdata),io:format("DataRows: ~p~n", [DataRows])%[Data || #rs_row_data{data=Data} <- Rowdata].
- ErlMySQL --- 另一个用 Erlang 编写的 MySQL 客户端
- Erlang 编写 Kafka 客户端之最简单入门
- Erlang 聊天室程序(二) 客户端的退出
- Erlang cowboy 处理不规范的客户端
- 关于erlang中makefile的编写
- 用wsdl2java简化客户端的编写
- 客户端对象模型然而,另一个有趣的
- Erlang数据库-(一)Erlang与Mysql的连接
- Mysql 用一个表更新另一个表的内容
- MySQL里用一个表的数据更新另一个表
- mysql用一个表更新另一个表的方法
- 编写Enterprise bean的客户端
- Perl编写的socket客户端
- 关于客户端编写的问题
- TCP客户端程序的编写
- Redis的Java客户端编写
- HDFS的java客户端编写
- HDFS的java客户端编写
- ehcache 缓存的使用
- 元素的显示方式
- eclipse中键盘不能用
- iOS开发视频教程 UI部分:4.Xcode介绍1
- 调用门
- ErlMySQL --- 另一个用 Erlang 编写的 MySQL 客户端
- Java字节码的动态生成和增强
- 修改UL和LI间隔的方法
- android项目的结构
- IDE (Integrated Development Environment) 集成开发环境
- java 转html为pdf
- prezi中文输入法使用教程
- 让自己的函数在main函数之前执行
- py2exe使用方法