Ruby学习札记(4)-安装dbi(解决deprecate问题)

来源:互联网 发布:知乎小米笔记本屏幕 编辑:程序博客网 时间:2024/06/05 04:52

Ruby学习札记(4)-安装dbi(解决deprecate问题)

 

dbi,即database interface,是Ruby访问数据库的模块,提供访问多种数据库的接口。

Architecture of a DBI Application,如图

 

一般方法是:下载dbitar.gzzip格式),CMD下切换到解压的目录,使用以下命令:

ruby setup.rb config (或ruby setup.rb config --with=dbi,dbd_mysql

ruby setup.rb setup

ruby setup.rb install

我试过—with选项,结果提示没有该参数。只好去掉—with选项。完成以上3个命令后在irb中,输入require ‘dbi’,结果报错。

    根据错误信息,大致知道在dbi.rb文件48行中,找不到deprecated文件。Google一下,知道还要一个deprecated包,于是我下载了deprecated-3.0.0.gem,安装之后还是报错。

再次Google,居然是deprecated-3.0.0.gem太新了!换成deprecated-2.0.1.gem就可以了。

我推荐使用gem方式安装dbi,我用的是离线方式。CMD下切换到下载gem所在的目录,输入gem install ./dbi-0.4.3.gem –localruby会检查依赖关系,直接安装不上dbi,提示需要deprecated

这个比前面的3个命令要好得多,免得安装上又用不起的问题。这里当然是先安装deprecatedgem(也是deprecated-2.0.1.gem才管用,不能使用deprecated-3.0.0.gem!),然后再安装dbi-0.4.3.gem。同样require 'dbi'会返回一个true值,表示dbi可以找到。

 

安装dbi后,只是有了数据库访问抽象层,没有具体的数据库驱动层,访问不了数据库,因此需要安装具体dbd,这里使用dbd-mysql。同样,可以在线或离线安装,在线则输入命令:gem install dbd-mysql(具体安装gem可以参考我的另一篇文章)

用以下代码测试

 

如果输出MySQL Version is: 5.1.39-community,说明dbi可以正常工作。

 

 

参考资料:

http://blog.csdn.net/ruby_cn/archive/2004/11/09/174293.aspx

http://dennis-zane.iteye.com/blog/69781

http://www.tutorialspoint.com/ruby/ruby_database_access.htm

原创粉丝点击