MSDE(MS SQLserver)をrubyで接続

http://www.ch-werner.de/rubyodbc/
ここでzipファイルをダウンロード

For Win32 operating systems DLLs of 0.997 are available in i386-msvcrt-ruby-odbc.zip.
It contains the files odbc.so and odbc_utf8.so
which need to be copied into the .../ruby/1.8/i386-msvcrt directory of
MSVC based Ruby 1.8 installations.
のとおりにコピー
ruby以下に1.8フォルダないのでそれっぽいところにおけばいいのかな?と思って
.soファイルがある場所のあたりをつけてlibフォルダ開いたら
C:\ruby\lib\ruby\1.8\i386-mswin32があった。
とりあえず、C:\ruby\lib\ruby\1.8\に上記フォルダつくって突っ込んでみる。
微妙に違うんだな。

http://nobuson-ruby.at.webry.info/200502/article_18.html
このページの接続テストを行う。ソースもほとんどコピー(笑)
ただ、全角スペースがあったので、軽く躓く。
消して実行で取り合えず、OK

以下ソース(*は各環境により、置き換え要)

                                                                                • -

require "win32ole"

adoj = WIN32OLE.new "ADODB.Connection"

##MSDEの接続文字指定

connectLine = "Provider=SQLOLEDB; "
connectLine = connectLine + "Data Source=(databaseName); "
connectLine = connectLine + "Initial Catalog=(tableName); "
connectLine = connectLine + "User Id=(UserId); "
connectLine = connectLine + "Password=(Password); "
#connectLine = connectLine + "Connection Timeout=;"

adoj.open connectLine
##データの読み取り
rcs = adoj.Execute("SQL文")
unless rcs.nil?
until rcs.EOF
rcs.Fields.each do |row|
print row.Value + ' - '
end
print "\n"
rcs.MoveNext
end
rcs.Close
end
adoj.Close
exit

とりあえず、動いた。
winで仕事でrubyなメモ。

後でクラス化しとけばいつでも呼び出せそう。