[新手问题]Ruby 通过DBI 访问 MySQL 问题
学习php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby 过程中, 通过DBI 访问MySQL 的问题。估计其他人学习过程应该也会碰到吧
操作系统是 Windows 2003/SP1, 安装了Ruby 1.8.6, 数据库是MySQL 5.0. 为了通过Ruby 访问MySQL, 我下载了dbd-mysql-0.4.2.zip ( http://rubyforge.org/projects/ruby-dbi/)。
1. 首先安装DBI (解压后按以下步骤进行,目录略)
Ruby setup.rb config
Ruby setup.rb setup
Ruby setup.rb install
以上操作没有出错(好像就是些文件拷贝)
2. 然后开始验证
A. 先看看DBI 中有没有MySQL
require "dbi"
DBI.available_drivers each do |driver|
puts "#{driver}"
end
运行(在fxri 下运行)后 返回以下结果
dbiroxy:
dbi:ODBC:
dbi:Mysql:
dbi:statement:
dbi:Mysql:
dbi:driver:
dbi:database:
=> ["dbiroxy:", "dbi:ODBC:", "dbi:Mysql:", "dbi:statement:", "dbi:Mysql:", "dbi:driver:","dbi:database:"]
B. 尝试操作数据库
我先在MySQL 建了个数据库test (Create Database test;), 用户名为root,没有设密码(仅测试用)
然后运行(fxri 环境下)以下代码尝试连接数据库
require 'dbi'
dbh=DBI.connect('DBI:Mysql:test','root','')
结果出错, 返回以下信息:
DBI::InterfaceError: Could not load driver (no such file to load -- mysql)
from c:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:368:in `load_driver'
from c:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:233:in `_get_full_driver'
from c:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:219:in `connect'
from (irb):21
from c:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:519
请各位先行者 看看这是什么问题? 指点一下, 这里万分感谢了.