intel macでruby-oci8
Oracle は intel mac 用のバイナリを提供していません。 Oracle Instant Client 10.1.0.3 は ppc バイナリなので、intel CPU 用の ruby では動かないのです。 (日本のサイトには Mac OS X 用の instant client はないようです、 英語のサイトにあります。)
回避策としては以下の2つがあります。
* ruby を ppc としてコンパイルする。(Raimonds Simanovskisさんのblog を参照)
* ruby-odbcとサードパーティのODBCドライバ(Actual Technologies または OpenLink Software)を使用する。
今日みたら10.2.0.4 っていうバージョンにはIntel Mac用のリリースがありました。http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html
ここから
- Instant Client Package - Basic
- Instant Client Package - JDBC Supplement
- Instant Client Package - SQL*Plus
- Instant Client Package - SDK
をダウンロードして解凍、中身を/usr/ora_instant_client/instantclient_10_2にコピーして
export DYLD_LIBRARY_PATH=/usr/ora_instance_client/instantclient_10_2 export PATH=$PATH:$DYLD_LIBRARY_PATH
して、sqlplusが動けばinstanstclientのインストール完了。
その後、ruby-oci8をダウンロード、解凍。makeする前に、
export RC_ARCHS=i386
しないと、PPC用でコンパイルしようとしてエラーが出ました。
で、
make make install
すれば、rubyからoci8で接続できるはずっすー