gnupackでapt-cyg install rubyってやるだけでrubyの1.9.xが入るのは以前のエントリどおりだけど、その後SQLServerからデータ取りたくて難儀したのでメモ。
従来はdbiとdbd/adoの組み合わせでやっていたんだけど、調べてみるとADOがもうメンテナンスされてないみたいで入れられないことが分かりショック。ODBCでやれ、みたいな。
しょうがないので、試してみる
gem install dbi gem install dbd-odbc
これだけではodbc.soが入らないので、http://www.ch-werner.de/rubyodbc/からtarballを取得して、Cygwin版としてコンパイル。
extconf.rb make make install
試しにユーザDSNを定義してクエリかけてみたら、うまくできた。ただ、定義がないPCでも実行することもあるので
DBI.connect('DBI:ODBC:Driver={SQL Server};Server={db_server};Trusted_Connection=yes;AutoTranslate=No;Database=db_name')
のように書けばいちいち定義しなくても接続できることを確認。