- 浏览: 435239 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (144)
- java (32)
- Flex (11)
- linux (15)
- 思维至上 (2)
- 生活 (4)
- spring2.5.5 (3)
- Design pattern (0)
- jdk1.6 (1)
- erlang (14)
- mysql (5)
- nginx (10)
- 互联网 (1)
- 用户体验 (0)
- jvm (8)
- hibernate (0)
- oracle (0)
- mvn (2)
- 23种常用设计模式详细讲解及实例 (1)
- nosql (1)
- mongodb (2)
- thrift (1)
- 负载均衡 (1)
- Objective-c (1)
- fuck (1)
- resin (3)
- log4j (2)
- android (1)
- jps (0)
- lucene (2)
- rsync (1)
- python (1)
- java性能分析 (1)
- spring (1)
- zookeeper (2)
- error (1)
- 算法 (1)
- hudson (1)
- svn (1)
- maven (1)
- svn server (2)
- swap linux (1)
- 协同过滤 (1)
- 邮件系统 (1)
最新评论
-
cheetah747:
我也遇到这个问题了,不过我是直接把第三方jar放到工程文件的l ...
JAVA NoClassDefFoundError: -
dxm1986:
hillfallshore 写道亲 你这是杜撰的小说吗?完全是 ...
面试有感 -
dxm1986:
mengda1027 写道从实习生到高级java到架构师,是在 ...
面试有感 -
dxm1986:
kljjack 写道一个编程十几年,每年看几十本技术书籍,技术 ...
面试有感 -
dxm1986:
轻指飞扬 写道呵呵,挺好玩的~ 我怎么感觉你招人不是很有诚意嘛 ...
面试有感
erlang连接到mysql数据库
一,驱动的下载与安装
1. 下载erlang-mysql-driver
下载地址如下:
svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql
(如果你没有安装SVN,附件中提供源码下载)
2. 对src下面的所有源码进行编译
erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面
4. 将mysql整个文件夹拷贝到erlang/lib下面
二, 操作数据库
1 连接mysql:
mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined,
Reconnect).%%建立一个连接
3 数据操作
添加:
mysql:fetch(PoolId,<<”insert into….”>>).
查询:
mysql:fetch(p1,<<"select * from user">>).
4 接收到数据后怎么处理
fetch(PoolId, "select * from user") -> Result
%%% Result = {data, MySQLRes} | {updated, MySQLRes} |
%%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <<"select * from user">>).
Ø 获取字段名称信息:
FieldInfo = mysql:get_result_field_info(MysqlRes).
Ø 获取字段值:
AllRows = mysql:get_result_rows(MysqlRes)
n 更新:
{updated,UD} = mysql: fetch(PoolId, <<"update * from user">>).
AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错
{error,Err} = fetch(PoolId, <<"update * from user">>).
Reason = mysql:get_result_reason(MysqlRes).%%出错原因
- erlang-mysql-driver-read-only.rar (46.4 KB)
- 下载次数: 139
评论
<p> </p>
<p> </p>
<p class="MsoListParagraph"><span lang="EN-US"><strong>一,</strong></span><span><strong>驱动的下载与安装</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 21.0pt; text-indent: 0cm;"><span lang="EN-US"> </span></p>
<p class="MsoListParagraph"><span><span style="font-size: 12.0pt;" lang="EN-US"><span>1.<span style="font: 7.0pt ;">
</span></span></span></span><span>下载</span><span style="font-size: 12.0pt;" lang="EN-US">e</span><span><span lang="EN-US">rlang-mysql-driver</span></span><span></span></p>
<p class="MsoListParagraph" style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span> </span></span></span><span><span>下载地址如下:</span></span><span></span></p>
<p class="MsoListParagraph" style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span> </span></span></span><span><span lang="EN-US">svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/
<span> </span>mysql</span></span></p>
<p class="MsoListParagraph" style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"> <span style="color: #339966;"><strong>(如果你没有安装SVN,附件中提供源码下载)</strong></span></span></span></p>
<p class="MsoListParagraph"><span><span lang="EN-US"><span>2.<span style="font: 7.0pt ;">
</span></span></span></span><span><span lang="EN-US"><span> </span></span></span><span><span>对</span></span><span><span lang="EN-US">src</span></span><span><span>下面的所有源码进行编译</span></span><span></span></p>
<p class="MsoListParagraph" style="margin-left: 42.0pt; text-indent: 0cm;"><span><span lang="EN-US"><span> </span>erlc *.erl</span></span></p>
<p class="MsoListParagraph" style="margin-left: 21.0pt; text-indent: 0cm;"><span><span lang="EN-US"> </span></span></p>
<p class="MsoListParagraph"><span><span lang="EN-US"><span>3.<span style="font: 7.0pt ;">
</span></span></span></span><span><span lang="EN-US"><span> </span></span></span><span><span>然后在</span></span><span><span lang="EN-US">mysql </span></span><span><span>下面创建</span></span><span><span lang="EN-US">ebin</span></span><span><span>,并将</span></span><span><span lang="EN-US">src </span></span><span><span>下面的所有</span></span><span><span lang="EN-US">*.beam</span></span><span><span>拷贝到</span></span><span><span lang="EN-US">ebin<span> </span></span></span><span><span>下面</span></span><span></span></p>
<p class="MsoListParagraph"><span><span lang="EN-US"><span>4.<span style="font: 7.0pt ;">
</span></span></span></span><span><span lang="EN-US"><span> </span></span></span><span><span>将</span></span><span><span lang="EN-US">mysql</span></span><span><span>整个文件夹拷贝到</span></span><span><span lang="EN-US">erlang/lib</span></span><span><span>下面</span></span><span></span></p>
<p class="MsoListParagraph" style="margin-left: 21.0pt; text-indent: 0cm;"><span><span lang="EN-US"> </span></span></p>
<p class="MsoListParagraph"><span><span lang="EN-US"><strong>二,</strong><span style="font: 7.0pt ;"><strong>
</strong></span></span></span><span><span><strong>操作数据库</strong></span></span><span></span></p>
<p class="MsoListParagraph"><span><span lang="EN-US"><span>1<span style="font: 7.0pt ;">
</span></span></span></span><span><span><strong>连接</strong></span></span><span><span lang="EN-US"><strong>mysql:</strong></span></span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"><span><span lang="EN-US">mysql:start_link(</span></span><span lang="EN-US">PoolId</span><span><span lang="EN-US">,
"localhost", "root", "password", "databasename").</span></span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US"> </span></p>
<p class="MsoListParagraph"><span lang="EN-US"><span style="white-space: pre;"> </span>2<span> </span>mysql:connect(PoolId,
Host, ?PORT, User, Password, Database, undefined,</span></p>
<p class="MsoListParagraph" style="margin-left: 21.0pt; text-indent: 0cm;"><span lang="EN-US"><span> </span><span>
</span>Reconnect).<strong>%%</strong></span><span><strong>建立一个连接</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 21.0pt; text-indent: 0cm;"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left: 21.0pt;"><span lang="EN-US">3<span> </span></span><span><strong>数据操作</strong></span></p>
<p class="MsoNormal" style="margin-left: 21.0pt;"><span lang="EN-US"><span> </span></span><span><strong>添加:</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US">mysql:fetch(PoolId,<<”insert into….”>>).</span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"><span> <strong>查询:</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"><span lang="EN-US">mysql:fetch(p1,<<"select * from
user">>).</span></p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;"> </p>
<p class="MsoListParagraph" style="margin-left: 63.0pt; text-indent: 0cm;">
</p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><strong>4 </strong></span><span style=""><strong>接收到数据后怎么处理</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-align: left;"><span lang="EN-US"><span style=""> </span>fetch(PoolId,
"select * from user") -> Result</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-align: left;"><span lang="EN-US"><span style=""> </span>%%%<span style=""> </span>Result = {data, MySQLRes} | {updated,
MySQLRes} |</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style=""> </span>%%%<span style=""> </span>{error, MySQLRes}</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"> </span></p>
<p class="MsoListParagraph" style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'> </span></span></span><span style=""><strong>查询</strong>:</span><span lang="EN-US">{data,
MySQLRes} = fetch(PoolId, <<"select * from user">>).</span></p>
<p class="MsoListParagraph" style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">Ø<span style='font: 7.0pt "Times New Roman";'> </span></span></span><span style="">获取字段名称信息</span><span lang="EN-US">:</span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style=""> </span><span style="">
</span>FieldInfo = mysql:get_result_field_info(MysqlRes).</span></p>
<p class="MsoListParagraph" style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">Ø<span style='font: 7.0pt "Times New Roman";'> </span></span></span><span style="">获取字段值:</span></p>
<p class="MsoListParagraph" style="margin-left: 42pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style=""> </span><span style="">
</span>AllRows<span style=""> </span>=
mysql:get_result_rows(MysqlRes)</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style=""> </span></span></p>
<p class="MsoListParagraph" style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'> </span></span></span><span style=""><strong>更新</strong></span><span lang="EN-US"><strong>:</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">{updated,UD} = mysql: fetch(PoolId, <<"update
<span style=""> </span>* from user">>).</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"><span style=""> </span><span style="">
</span><span style=""> </span><span style=""> </span>AffectedRow = mysql:get_result_affected_rows(UD).%%</span><span style="">获得影响的记录数</span></p>
<p class="MsoListParagraph" style="margin-left: 21pt; text-indent: 0cm; text-align: left;"><span lang="EN-US"> </span></p>
<p class="MsoListParagraph" style=""><span style="font-family: Wingdings;" lang="EN-US"><span style="">n<span style='font: 7.0pt "Times New Roman";'> <strong> </strong></span></span></span><span style=""><strong>出错</strong></span></p>
<p class="MsoListParagraph" style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">{error,Err} = fetch(PoolId, <<"update
<span style=""> </span>* from user">>).</span></p>
<p class="MsoListParagraph" style="margin-left: 78.15pt; text-indent: 0cm; text-align: left;"><span lang="EN-US">Reason<span style=""> </span>= mysql:get_result_reason(MysqlRes).%%</span><span style="">出错原因</span></p>
</div><br/>注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文
发表评论
-
erlang for 循环
2011-05-05 13:41 2642erlang怎么执行for循环? - ... -
erlang常见问题一二三
2011-04-07 08:37 2208最近在从事erlang开发过程中遇到了几个问题,在这里一一记录 ... -
erlang编译一直出错,出错,错。。。。。
2011-03-10 17:44 1150之前在内网(windows)进行编译erlang的时候 ... -
erlang connect to mongodb
2011-03-03 15:43 4183erlang connect to mongodb ... -
erlang talk to java
2011-03-02 16:58 1261Erlang: Let’s talk to java ... -
Erlang/OTP简介
2011-02-23 10:28 2301简单介绍 OTP (Open Telecom Platfo ... -
MochiWeb在linux下安装注意问题
2011-02-17 11:47 1483MochiWeb在linux下安装注意问题 (20 ... -
linux下面Erlang,Mochiweb的安装
2011-02-17 11:40 3316linux 下面安装erlang 1 去erl ... -
Mochiweb的设计分析续
2011-02-16 15:05 1512这都是在headers函数中进行的,还是看mochi ... -
Mochiweb的设计分析
2011-02-16 15:03 1752Mochiweb的设计分析 March 15th, ... -
erlang入门笔记
2011-02-12 11:15 2367erlang入门笔记 2008-06-20 ... -
Programming Erlang 第6章 编译和运行(完整)
2011-02-11 17:55 5731编译和运行 译者: gashero ... -
ERLang简介
2011-02-11 17:53 1772Erlang入门 (2008-02-17 ...
相关推荐
本文将详细介绍如何在Erlang环境中编译并使用MySQL接口,以便在Erlang程序中访问MySQL数据库。 首先,我们需要一个Erlang MySQL客户端库。这里提到的“erlang_mysql编译好了”可能是指已经成功编译了这样的库,它...
1. **Erlang MySQL 驱动**:Erlang MySQL 驱动是连接 MySQL 数据库的关键组件,它实现了 Erlang 与 MySQL 之间的通信协议。例如,`mysql_client` 或 `emysql` 是两个流行的 Erlang MySQL 驱动。这些驱动提供了 API,...
Erlang提供了多种数据库连接库,如Mnesia(Erlang内置的分布式数据库)或者其他第三方库如MySQL、PostgreSQL的驱动,用于存储和检索游戏数据。 6. **游戏源码分析**:对于初学者来说,分析游戏服务器的源码可以帮助...
Erlang是一种面向并发的、强类型的编程语言,...总之,Erlang与MySQL的对接涉及了数据库驱动的选用和使用,以及Erlang对数据库操作的封装。理解这些基本概念和流程,有助于构建健壮的、数据库驱动的Erlang应用程序。
连接MySQL服务器后,Erlang程序可以通过发送消息到对应的Erlang进程来执行SQL命令。当不再需要连接时,应关闭连接以释放资源。`dizzyd-erlang-mysql-driver` 提供了连接管理和断开连接的函数,确保了连接的生命周期...
Erlang是一种并发和分布式系统设计的强大工具,而emysql则提供了连接和操作MySQL数据库的接口,使得开发者能够方便地在Erlang应用中实现数据存储和查询功能。 在深入emysql之前,我们首先了解Erlang的基本概念。...
Erlang MySQL Driver是用于Erlang编程语言的一个数据库连接驱动程序,专门设计用来与MySQL数据库进行交互。这个驱动程序提供了在Erlang环境中高效、可靠地执行SQL查询和其他数据库操作的能力。 `mysql_conn.erl` ...
【描述】:“英雄远征服务器端erlang源码,用mysql数据库”意味着该源码中包含了与MySQL数据库交互的逻辑,服务器端负责处理游戏数据的存储和读取,如玩家信息、游戏进度、交易记录等。MySQL是一个广泛使用的开源关系...
通过《ets数据结构总结1.txt》和《ets数据结构总结2-Mnesia.txt》,你可以深入了解ETS的各类数据结构及其在连接外部数据库(如《ets数据结构总结3-连接外部数据库.txt》中提到的MySQL)时的应用场景和策略。...
综上所述,《英雄远征》的Erlang源码结合MySql数据库,展示了如何利用Erlang的特性构建一个高效、稳定的网络游戏服务端。深入研究这份源码,不仅可以提升Erlang编程技能,也能为其他类似项目提供参考和启发。
Erlang Websocket详解:构建实时通信应用 ...配合rebar3构建工具,可以便捷地管理和构建Erlang项目,而emysql则提供了与MySQL数据库交互的能力。这三者结合,为构建实时通信应用如聊天系统提供了强大的基础支持。
* 数据库层的实现:使用Erlang的ETS、Mnesia、MySQL、MongoDB等数据库来存储游戏数据。 游戏服务器的优点 使用Erlang开发游戏服务器有以下几个优点: * 高并发:Erlang的Actor模型和轻量级进程使得其能够轻松地...
对于一个数据库访问请求,参数将被传递到驱动程序并在异步线程中进行处理。 然后,该请求将转换为不同数据库类型的相应SQL语句。 之后,工作线程将调用供应商的C / C ++ API执行这些SQL语句,并以ei返回响应。 ...
Erlang 是由瑞典电信设备制造商 Ericsson 开发的,它的并发模型使得在处理大规模并发连接时表现出色,因此非常适合构建像 Tsung 这样的高并发测试工具。Erlang 的 OTP(Open Telecom Platform)框架提供了许多基础库...
3. **统一平台优势**:传统的Web应用通常由Apache Web服务器、MySQL数据库后端、Perl和PHP等组件组成,这些组件需要独立管理和支持,其间的数据格式和接口定义复杂。而在Erlang中,所有这些组件可以在同一技术平台上...
MySQL驱动程序是用于连接和操作MySQL数据库的软件组件,它实现了与MySQL服务器之间的通信协议,使得Erlang应用程序能够方便地进行数据存取。Myer是这样一个驱动程序,专为Erlang编程语言设计,利用MySQL的网络协议来...
- **数据库配置**:OnlyOffice支持多种数据库,如MySQL、PostgreSQL和Microsoft SQL Server,需要根据实际情况选择并配置。 - **安全性**:必须确保服务器的安全性,包括防火墙设置、SSL证书配置以及定期更新和安全...
标题中的“Erlang开发电信网管...总的来说,这个Erlang开发的电信网管项目实践展示了如何利用Erlang的优势来构建高效、可扩展且可靠的网络管理系统,同时也反映了在技术选择上从复杂到简洁,从单一到分散的转变趋势。
5. **连接池**:MySQL OTP可以通过`poolboy`或其他Erlang连接池库来实现连接池管理,提高系统性能并减少资源消耗。 6. **错误处理**:Erlang OTP的特性使得MySQL OTP可以优雅地处理错误,当数据库连接出现问题时,...
`sumo_db` 是一个为Erlang编程语言设计的持久性框架,旨在提供与多种数据库系统的集成,包括MySQL、Elasticsearch、Erlang的Mnesia、MongoDB、PostgreSQL(pgsql)以及Riak。这个框架的主要目标是简化在Erlang应用...