ホーム DoRuby MacでOracle Instant Clientを利用する

MacでOracle Instant Clientを利用する

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

先日Snow Leopardが発売されて、私もアップグレードしてみました。OSの起動、停止が早くなり、とても満足です。ただ…

問題もあって、残念ながら以前書いた記事(http://doruby.kbmj.com/8y/20090505/Mac_OS_X_Leopard__Oracle_)のインストール方法が使えなくなってしまいました。原因はSnow LeopardのJavaのバージョンとLeopardのJavaのバージョンが違うためぽいです。ごにょごにょしたら解決しそうですが、今回はさっぱりあきらめて、Railsで単にローカルマシンから別サーバのOracleへつなぐところまでをやってみました。

MacPortsから

	%port search oracle-instantclient
	oracle-instantclient @10.2.0.4.0 (databases)
	    Oracle database connection libraries
	

上記をインストールします。ただし、そのままインストールしようとしても駄目で、instantclientのzip自体は自分でダウンロードしてくる必要があります。

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

上記から”instantclient-basic-10.2.0.4.0-macosx-x64.zip “と”instantclient-sdk-10.2.0.4.0-macosx-x64.zip”をダウンロードし、/opt/local/var/macports/distfiles/oracle-instantclientへ配置してください。

その上でインストールを行います。

	% sudo port install oracle-instantclient
	

これはあっけなく終わる筈です。で、実際Railsから接続する為に activerecord-oracle_enhanced-adapter (1.2.1) などもgem からインストールする必要があるのですが、実際の接続に使う ruby-oci8 1.0.6(200909時点stable最新)もインストールします。

このインストールですが、先ほど入れたoracle-instantclientのありかをきちんと教えてあげないといけないです。なので

	% export DYLD_LIBRARY_PATH=/opt/local/lib/oracle
	% gem install ruby-oci8 -v 1.0.6 -- --with-instant-client
	

DYLD_LIBRARY_PATHを設定した上で、ruby-oci8にinstantclientを使うオプションをつけてインストールする必要があるみたいです。

これで無事別サーバのOracleなどに接続できる筈です。

記事を共有

最近人気な記事