`

ruby DBI安装使用指南

阅读更多
1.安装
首先,我是使用mysql进行测试的,你的机器上需要安装mysql数据库。
然后执行:
gem install mysql

到rubyforge下载ruby-DBI,解压后cd到目录运行如下命令:
ruby setup.rb config --with=dbi,dbd_mysql
ruby setup.rb setup
ruby setup.rb install

完整的setup命令参数参考DBI的doc

2.完整例子
DBI是一类似于ODBC的开发式的统一的数据库编程接口,结构层次上可以分为两层:
1.Database Interface——数据库接口层,与数据库无关,提供与数据库无关的标准接口
2.Database Driver——数据库驱动,与数据库相关

DBI也是很简单易用的,一个完整的使用例子,对于初学者可能有点帮助:
<!---->require 'dbi'
begin
  
#连接数据库
  dbh=DBI.connect("DBI:Mysql:dbi_test:localhost","root","")
  
  dbh.columns(
"simple").each do |h|
    p h
  end
  
#示范3种事务处理方式
  #手动commit
  dbh["AutoCommit"]=false
  
1.upto(10) do |i|
    sql 
= "insert into simple (name, author) VALUES (?, ?)"
    dbh.do(sql, 
"Song #{i}""#{i}")
  end
  dbh.commit
  
  
#使用transaction方法
  dbh.transaction do |dbh|
    
1.upto(10) do |i|
      sql 
= "insert into simple (name, author) VALUES (?, ?)"
      dbh.do(sql, 
"Song #{i}""#{i}")
    end
  end
  
  
#使用SQL语句
  dbh.do("SET AUTOCOMMIT=0")
  dbh.do(
"BEGIN")
  dbh[
"AutoCommit"]=false
  dbh.do(
"UPDATE simple set name='test' where id='1'")
  dbh.do(
"COMMIT")
  
  
#查询
  sth=dbh.execute("select count(id) from simple")
  puts 
"bookCount:#{sth.fetch[0]}"
  sth.finish
  begin
    sth
=dbh.prepare("select * from simple")
    sth.execute
    
while row=sth.fetch do
      p row
    end
    sth.finish
  rescue
  end
  
  
#上面这段查询可以改写为:
  #dbh.select_all("select * from simple") do |row|
  #   p row
  #end   
  
  
  
#使用工具类输出xml格式结果集以及测量查询时间
  sql="select * from simple"
  mesuretime
=DBI::Utils::measure do
    sth
=dbh.execute(sql)
  end 
  puts 
"SQL:#{sql}"
  puts 
"Time:#{mesuretime}"
  rows
=sth.fetch_all
  col_names
=sth.column_names
  sth.finish
  puts DBI::Utils::XMLFormatter.table(rows)
  
  dbh.do(
"delete from simple")
rescue  DBI::DatabaseError
=>e
  puts 
"error code:#{e.err}"
  puts 
"Error message:#{e.errstr}"
ensure
  dbh.disconnect 
if dbh
end   




dennis 2007-04-10 20:21 发表评论
分享到:
评论

相关推荐

    ruby DBI ruby DBI ruby DBI

    ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...

    Ruby DBI-开源

    在Ruby中,DBI扮演着中间件的角色,它允许开发者使用统一的API与多种数据库进行交互。这极大地简化了多数据库环境下的代码维护和迁移。DBI的核心思想是“编写一次,到处运行”,即你可以在支持DBI的任何数据库上运行...

    ruby--dbi数据库操作gems相关

    在Ruby中使用DBI,首先需要安装相应的gem包。在提供的信息中提到了“dbi”这个文件,这可能是DBI库的源码或者不同版本的gem安装包。通常,你可以通过`gem install dbi`命令来安装最新版本的DBI gem。如果你有特定...

    dbi-0.1.1.tar.gz

    "dbi"通常代表“Database Interface”,这是一个在编程领域,特别是Ruby语言中广泛使用的库,用于与各种数据库进行交互。版本号"0.1.1"表明这是该库的一个特定版本,意味着它可能包含了错误修复、性能优化或者新功能...

    Ruby 与编码

    Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8

    perl的DBI安装包以及安装步骤

    2. **安装DBI**:在Linux环境下,确保你有权限执行安装操作,然后使用`perl Makefile.PL`命令创建Makefile,接着运行`make`和`make test`来编译和测试模块,最后使用`make install`将模块安装到你的Perl库路径中。...

    Ruby 连接数据库资源汇总

    本资源汇总将详细介绍如何使用Ruby进行数据库连接,尤其是通过Ruby/DBI库。 首先,我们来了解一下Ruby/DBI(Database Independent Interface)。Ruby/DBI 是一个符合 DBI 模式(数据库独立接口)的库,它提供了一个...

    ruby-oracle相关的数据库操作的gems包

    使用`ruby-oci8` Gem前,需要确保已安装Oracle客户端,因为Gem本身并不包含Oracle数据库的运行时库。安装宝石时,可以通过`gem install`命令,例如`gem install ruby-oci8-2.1.0.gem`,然后按照提示完成配置。在...

    DBI.nro,DBI 658版本

    DBI最新版本,官方正式版本,DBI 658版本。 寻求在Nintendo Switch上实现全面而便捷的文件管理和游戏安装体验,一个理想的解决方案是采用高度集成且功能强大的管理工具。这样的工具不仅限于简单地安装游戏文件,如...

    安装RMySQL需要的DBI

    在R语言环境中,数据库接口(DBI)是一...在Windows上,你可以直接从R官方网站下载安装程序,并使用R的图形界面来安装DBI和RMySQL包。如果你遇到任何问题,确保查阅R和MySQL的官方文档,或者在相关的开发者论坛寻求帮助。

    DBI-1.636.tar.gz

    1. `INSTALL`:提供了安装指南,指导用户如何编译和安装模块。 2. `Makefile.PL`:Perl的Makefile生成脚本,运行perl Makefile.PL会根据你的环境生成Makefile。 3. `MANIFEST`:列出所有包含在包内的文件,便于检查...

    Asko雅士高洗碗机 DBI634MIB.BS.CN_1安装使用手册.PDF

    【Asko雅士高洗碗机DBI634MIB.BS.CN_1安装使用手册.PDF】是一款详细指导用户安装与使用的设备说明书,适用于Asko品牌的洗碗机型号DBI634MIB.S.CN/1和DBI634MIB.BS.CN/1。这份文档旨在帮助用户了解并安全有效地操作...

    在X64位RedHat下安装DBI&DBD;-MySQL的经历

    ### 在X64位RedHat下安装DBI&DBD-Mysql的知识点 #### 背景介绍 本文档详细记录了在64位RedHat系统下安装DBI(Database Interface)和DBD(Database Driver)- MySQL的过程及遇到的问题。起初作者并未意识到在64位...

    关于perl DBI的方法使用

    Perl DBI(Database Interface)是Perl语言中用于数据库交互的标准接口,它允许程序员与各种不同的数据库管理系统(DBMS)进行通信。在Perl中,DBI提供了统一的API,使得开发者无需关心具体的数据库类型就能编写...

    Perl DBI 参考(强烈推荐)

    首先,DBI使用了类似于C语言中的指针的概念,但在Perl中称为引用,这些引用指向的对象被称为句柄。句柄是DBI中非常重要的概念,它们主要有三种类型:数据库对象句柄($dbh)、语句(查询)对象句柄($sth)和通用...

    Programming Perl DBI 8

    《Programming Perl DBI 8》是一本专注于Perl数据库接口(DBI)编程的权威指南,针对的是Perl编程领域的数据库应用开发。DBI是Perl语言中用于访问数据库的标准API,它为各种不同的数据库系统提供了统一的接口,让...

    DBI_1.1.2.tar.gz

    在R语言中,如果你想要使用像RMySQL这样的特定数据库连接包,通常需要先安装DBI作为前置依赖。 RMySQL是一个R语言的包,允许用户直接在R环境中连接和操作MySQL数据库。在没有网络的环境下,直接下载DBI_1.1.2.tar....

    DBI-1.607.tar.gz

    在Postfix中使用DBI,首先需要确保Postfix支持数据库操作,这通常通过在Postfix配置中启用`smtpd_recipient_restrictions`或其他相关的限制条件来实现,并配置相应的数据库查询。例如,你可以使用MySQL或SQLite作为...

    DBI-1.643.tar.gz

    解压DBI-1.13.tar.gz文件  这时会新建一个DBI-1.13的目录。  cd DBI-1.13 生成makefile:  perl Makefile.PL  建立模块  make  测试模块  make test  如果测试结果报告“all test ok”,就...

    DBI-1.633.tar.gz

    DBI(Database Interface)是...总之,DBI-1.633.tar.gz是Perl DBI模块的一个版本,对于安装和使用Percona Toolkit是必要的。理解DBI的工作原理和使用方法,能够帮助你更好地利用Percona Toolkit进行数据库管理和优化。

Global site tag (gtag.js) - Google Analytics