ActiveRecord から ODBC 接続
mdbtools がうまくいかないけど、ActiveRecord の ODBC Adapter を見つけたのでこれはいけると思い
activerecord-odbc-adapter (2.0) odbc-rails (1.5)
2 つを gem からインストールしてもうまくいかなくて、
For accessing ODBC data sources from the Ruby language
ODBC Binding for Ruby
ここから 0.9994 のものをインストール。呼び出し側はこんな↓感じで、データソース名か、mdbファイル指定で直接取れたらいいなぁと思って書いてみた。
require 'rubygems' require 'active_record' ActiveRecord::Base.establish_connection( :adapter => "odbc", :dsn => "test" # :conn_str => "Driver={Microsoft Access Driver (*.mdb)};DBQ=test.mdb;" ) class User < ActiveRecord::Base end p User.find(:all)
結構時間かかったんだけどなぁ・・・結局
ODBCAdapter: Unsupported database (access)
だった orz
追記
/usr/lib/ruby/gems/1.8/gems/activerecord-odbc-adapter-2.0/lib/active_record/vendor
この辺りにあるファイルを真似て ODBCExt モジュールを定義した上で odbc_adapter.rb にある dbmsNameToSym の変換定義を追加すればいいのかなぁ・・・と模索してみたけど orz