oinume journal

Scratchpad of what I learned

JRuby + DBI + JDBC + MySQL JDBC DriverでMySQLに接続する

まず、DBIなどのライブラリをインストールする。

 

$ jruby -S gem install dbi dbd-jdbc jdbc-mysql

 

 

こんなスクリプト書いてみる。

 

require 'dbi'

require 'dbd/Jdbc'

require 'jdbc/mysql'

 

Jdbc::MySQL.load_driver

DBI.connect(

'DBI:Jdbc:mysql://localhost/test',

'root', 'test',

'driver' => 'com.mysql.jdbc.Driver'

) do |dbh|

puts "Connected"

end

 

 

5行目の "Jdbc::MySQL.load_driver" がないと怒られるので注意。

 

$ jruby connect.rb

DBI::DatabaseError: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbd-jdbc-0.1.6-java/lib/dbd/jdbc/driver.rb:66

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbi-0.4.5/lib/dbi/handles/driver.rb:33

connect at /usr/local/jruby-1.7.3/lib/ruby/gems/shared/gems/dbi-0.4.5/lib/dbi.rb:148

(root) at /Users/oinume/Dropbox/code/ruby/connect.rb:6

 

 

うまくいった場合。

 

$ jruby connect.rb

Connected

 

 

[tmkm-amazon]4798121444[/tmkm-amazon]