Murayama blog.

プログラミング教育なブログ

Ruby素人がDBアクセスに挑戦。

RubyDBIインストールメモです。

require 'dbi'

ってやってみると早速エラー。

LoadError: no such file to load -- dbi

dbiパッケージ(?)のインストールが必要みたい。


dbiをインストールしてみる。
RubyGemsでインストールできるのかなー、とググっても無理みたい。
手動でダウンロードするみたい。
RubyForgeにはdbi.gemみたいなのがないから無理なのかな。。


そもそもRubyGems自体よくわかってない。
とりあえずいろんなサイトを参考にdbiダウンロード


インストール時にsqlite絡みのエラーが出るので、

ruby setup.rb config --with=dbi,dbd_mysql
ruby setup.rb setup
ruby setup.rb install

Mysqlだけでいいよってかんじで。
いよいよプログラム実行。

require 'dbi' 
def with_db                                                                                                                                 
  DBI.connect('dbi:mysql:testdb:localhost',"user", "pass") do |c|                                                                          
    row = c.select_one("SELECT VERSION() ")                                                                                                 
    puts "Server version: " + row[0]                                                                                                        
  end                                                                                                                                       
end                                                                                                                                         
                                                                                                                                            
with_db                                                                                                                                      

お?

/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344:in `load_driver': Could not load driver (no such file to load -- mysql) (DBI::InterfaceError)  
        from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:227:in `_get_full_driver'                                                             
        from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:213:in `connect'                                                               

MySQLのドライバーが見つからないってな。
地味にここで30分はまる。。


結局、RubyForge見て
MySQLドライバーは別途用意しないとだめみたい。
あとはこのへんを参考に。。


当たり前っちゃー当たり前な話ですが、
慣れない環境だと手こずりました。

ちょっとずつがんばろ。