`
zb_86
  • 浏览: 43293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

erlang连接mysql

阅读更多

下载源码:
svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ erlang-mysql-driver-read-only

下载完后命名目录为"mysql",进入mysql/src目录对其下的文件全部进行编译;
建立mysql/ebin目录,把编译好的.beam文件拷贝到ebin中
复制mysql目录到erlang/lib目录下。

启动erlang sehll环境
#erl

连接mysql:
1>mysql:start_link(p1, "localhost", "root", "password", "test").
mysql_conn:620: greeting version "5.0.45" (protocol 10) salt ">H1XKN%k" caps 41516 serverchar <<8,2,0,0,
                                                                                                0,0,0,0,
                                                                                                0,0,0,0,
                                                                                                0,0,0,0>>salt2 "mc)>?aI*6pR("
mysql_auth:187: mysql_auth send packet 1: <<5,162,0,0,64,66,15,0,8,0,0,0,0,0,0,
                                            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                            114,111,111,116,0,20,68,156,106,10,
                                            55,204,242,199,179,117,105,185,82,
                                            223,141,254,117,211,113,246>>
mysql_auth:187: mysql_auth send packet 3: <<75,77,82,65,65,82,73,72,0>>
mysql_conn:426: fetch <<"use test">> (id <0.49.0>)
{ok,<0.47.0>}

更新数据操作
2>mysql:fetch(p1,<<"insert into t(id,name)values('12','laja')">>).
mysql_conn:426: fetch <<"insert into t(id,name)values('12','laja')">> (id <0.49.0>)
{updated,{mysql_result,[],[],1,[]}} #1表示影响数

查询数据操作
3> mysql:fetch(p1,<<"select * from t">>).
mysql_conn:426: fetch <<"select * from t">> (id <0.49.0>)
{data,{mysql_result,[{<<"t">>,<<"id">>,11,'LONG'},
                     {<<"t">>,<<"name">>,20,'STRING'}],
                     [12,<<"laja">>]],
                    0,[]}}

 

数据格式说明:

 

{data, MySQLRes} |
{updated, MySQLRes} |
{error, MySQLRes}
with:
         MySQLRes       = term()

 

  • on data received:
FieldInfo = mysql:get_result_field_info(MysqlRes)
AllRows   = mysql:get_result_rows(MysqlRes)
with:
       FieldInfo = list() of {Table, Field, Length, Name}
       AllRows   = list() of list() representing records
  • on update:
Affected  = mysql:get_result_affected_rows(MysqlRes)
with:
      Affected  = integer()
  • on error:
Reason    = mysql:get_result_reason(MysqlRes)
with:
       Reason    = string()

 

至此,erlang连接mysql已经ok了。

 

 

 

分享到:
评论

相关推荐

    erlang mysql

    1. **Erlang MySQL 驱动**:Erlang MySQL 驱动是连接 MySQL 数据库的关键组件,它实现了 Erlang 与 MySQL 之间的通信协议。例如,`mysql_client` 或 `emysql` 是两个流行的 Erlang MySQL 驱动。这些驱动提供了 API,...

    Erlang与Mysql对接

    在Erlang中,与MySQL对接的关键在于选择合适的驱动程序,文件名为"erlang-mysql-driver"很可能是指一个Erlang的MySQL驱动库。这样的驱动库允许Erlang应用程序通过标准的数据库接口与MySQL进行通信。在Erlang中,这种...

    erlang_mysql编译好了

    - **连接管理**:Erlang MySQL库会提供函数来建立、管理和关闭与MySQL服务器的连接。连接通常是异步的,以保持Erlang的非阻塞特性。 - **查询执行**:执行SQL查询通常是通过调用特定的Erlang函数,传入SQL语句和...

    erlang的mysql驱动接口

    连接MySQL服务器后,Erlang程序可以通过发送消息到对应的Erlang进程来执行SQL命令。当不再需要连接时,应关闭连接以释放资源。`dizzyd-erlang-mysql-driver` 提供了连接管理和断开连接的函数,确保了连接的生命周期...

    Erlang Mysql Driver

    Erlang MySQL Driver是用于Erlang编程语言的一个数据库连接驱动程序,专门设计用来与MySQL数据库进行交互。这个驱动程序提供了在Erlang环境中高效、可靠地执行SQL查询和其他数据库操作的能力。 `mysql_conn.erl` ...

    erlmysql:Erlang MySQL驱动程序

    用于Erlang的ErlMysql MySQL客户端版权所有(c)2010-2014 Alexei Krasnopolski 作者: “ Alexei ”( )。介绍客户端允许连接到MySQL服务器并执行SQL查询。 它提供了连接池机制以提高并发效率。 客户端是用Erlang...

    erlang emysql

    Erlang是一种并发和分布式系统设计的强大工具,而emysql则提供了连接和操作MySQL数据库的接口,使得开发者能够方便地在Erlang应用中实现数据存储和查询功能。 在深入emysql之前,我们首先了解Erlang的基本概念。...

    英雄远征erlang源码

    4. **MySQL数据库集成**:Erlang通过MySQL Erlang驱动(如`emysql`或`mysql_client`)与MySQL进行通信。开发者需要编写SQL查询语句,处理数据的CRUD(创建、读取、更新、删除)操作,并管理事务以确保数据一致性。 ...

    Erlang6大数据存储方式总结

    通过《ets数据结构总结1.txt》和《ets数据结构总结2-Mnesia.txt》,你可以深入了解ETS的各类数据结构及其在连接外部数据库(如《ets数据结构总结3-连接外部数据库.txt》中提到的MySQL)时的应用场景和策略。...

    MySQL Erlang client:ErlMySQL是用Erlang编写MySQL客户端(驱动程序)。-开源

    ErlMySQL是用Erlang编写MySQL客户端,提供的API非常接近Connector / C库。 客户端正在使用与MySQL服务器的低级(TCP / IP套接字)连接,并允许以最大可能的速度交换数据。 客户端中封装了多个数据源支持和连接池,...

    Erlang-game-server开发实践.pdf

    * 数据库层:使用Erlang的ETS、Mnesia、MySQL、MongoDB等数据库来存储游戏数据。 游戏服务器实现 在实现游戏服务器时,我们需要考虑以下几个方面: * 玩家和NPC的进程模型:使用Erlang的轻量级进程来模拟玩家和...

    erlang websocket

    1. **emysql简介**:emysql是Erlang的一个MySQL驱动,提供了与MySQL服务器交互的功能。它可以方便地进行连接、查询、事务等操作。 2. **Erlang与数据库的交互**:在Erlang的Websocket应用中,常常需要将接收到的...

    英雄远征源码[erlang]

    它支持轻量级进程(process)、消息传递以及热代码升级,这使得Erlang特别适合处理大量并发连接和实时交互。 2. **并发与分布式系统** 在《英雄远征》中,Erlang的并发模型得以充分利用,每个游戏逻辑或玩家行为...

    erldb-driver:erlang的链接驱动程序,支持流行的RDMBS,例如mysql,oracle,DB2和sybase

    我们遵循Erlydb(erlang_mysql_driver)的语法来设计API。 对于一个数据库访问请求,参数将被传递到驱动程序并在异步线程中进行处理。 然后,该请求将转换为不同数据库类型的相应SQL语句。 之后,工作线程将调用...

    英雄远征erlang服务器源码含数据库

    Erlang提供了多种数据库连接库,如Mnesia(Erlang内置的分布式数据库)或者其他第三方库如MySQL、PostgreSQL的驱动,用于存储和检索游戏数据。 6. **游戏源码分析**:对于初学者来说,分析游戏服务器的源码可以帮助...

    tsung+erlang包

    Erlang 是由瑞典电信设备制造商 Ericsson 开发的,它的并发模型使得在处理大规模并发连接时表现出色,因此非常适合构建像 Tsung 这样的高并发测试工具。Erlang 的 OTP(Open Telecom Platform)框架提供了许多基础库...

    onlyoffice的资源包,此包包括erlang和onlyoffice-documentserver

    - **数据库配置**:OnlyOffice支持多种数据库,如MySQL、PostgreSQL和Microsoft SQL Server,需要根据实际情况选择并配置。 - **安全性**:必须确保服务器的安全性,包括防火墙设置、SSL证书配置以及定期更新和安全...

    erlang_web_development

    它还提供了机制用于构建动态页面和组件,以及接口来连接商业Erlang系统。 3. **统一平台优势**:传统的Web应用通常由Apache Web服务器、MySQL数据库后端、Perl和PHP等组件组成,这些组件需要独立管理和支持,其间的...

    Erlang开发电信网管项目实践.ppt

    这些特性使其在构建电信网管系统时尤其适合处理大量的并发连接和快速的数据交换。Erlang的进程模型允许轻量级的并发执行,而分布式特性则使得系统可以轻松地扩展到多台机器上。同时,由于Erlang内置的错误恢复机制,...

    mysql-otp:MySQLOTP – ErlangOTPMySQL和MariaDB客户端

    5. **连接池**:MySQL OTP可以通过`poolboy`或其他Erlang连接池库来实现连接池管理,提高系统性能并减少资源消耗。 6. **错误处理**:Erlang OTP的特性使得MySQL OTP可以优雅地处理错误,当数据库连接出现问题时,...

Global site tag (gtag.js) - Google Analytics