DBに接続してみました。

家のPCにはMySQLをインストールしたものの、
会社のPCには入れてないので、
開発環境のOracle9iにつなげてみる。


Ruby OracleってGoogle検索したら、一番上に来たので
ruby-oci8ってのを使うことにしました。


http://ruby-oci8.rubyforge.org/ja/index.html
↑がホームページでダウンロードしたものを
rubyコマンド叩きます。

C:\ruby>ruby ruby-oci8-1.0.0-rc1-mswin32.rb
Copy OCI8.rb to C:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
Copy oci8.rb to C:/ruby/lib/ruby/site_ruby/1.8
Copy oci8lib.so to C:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
OK?
Enter Yes/No: Yes
Copying OCI8.rb to C:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8 ... done
Copying oci8.rb to C:/ruby/lib/ruby/site_ruby/1.8 ... done
Copying oci8lib.so to C:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt ... done
OK


http://www.jiubao.org/ruby-oci8/api.ja.html
↑のAPIドキュメントをみながら、
↓のようなコードを書いてみました。(APIのほぼコピペ)

class Connect
 conn = OCI8.new("system", "manager", "開発環境のインスタンス")
 cursor = conn.exec('SELECT * FROM スキーマ.テーブル名')
 while r = cursor.fetch()
  puts r.join(',')
 end
 cursor.close
 conn.logoff
end


で、↓こんな感じに叩きます。

C:\ruby>ruby -r oci8 connect.rb >> result.csv

結果は↓


でも、これってOracleクライアント経由で接続してますよね。
tnsnames.oraを見てるのがいるんでしょうか。


やりたいのはJDBCみたいに、IPアドレス指定するやり方なので、
もうちょい調べないと。