エンバカデロの最新情報をTwitterで配信。 embarcadero_jp をフォローして、すばやく情報をゲットしよう!

3rdRailからOracleへ接続する方法(Windows編)

概要: 3rdRailからOracleへ接続する方法をご説明いたします。

下記の接続検証は、Oracle10gで行っています。

Oracleバージンによっては、接続の設定が異なる場合があります。

dummy

3rdRailのRailsプロジェクトでは、データベースとして"Oracle"を選択できますが、

プロジェクトを作成し、Railsモデルを作成した後、マイグレーションを実行すると、

以下のようなエラーが発生します。

rake aborted!
Oracle/OCI libraries could not be loaded: no such file to load -- oci8

Rubyの実行環境からOrcaleデータベースへ接続するためには、Orcaleネイティブクライアントの他に

以下のパッケージが必要です。

dummy

activerecord-oracle-adapter

ruby-oci8

dummy

このうち、3rdRailがバンドルするソフトウェアには"ruby-oci8"のパッケージは含まれていないため、

別途インストールが必要です。

例えば、3rdRailからインストールするには、dummy

ワークスペース・コマンダーもしくはプロジェクト・コマンダーで以下のように実行してください。

>gem install --remote ruby-oci8

もし上記の方法でインストールできない場合には、以下のサイトからgemファイルをローカルにコピーし、実行してください。

http://rubyforge.org/frs/?group_id=256

下記は、例としてWindows環境へruby-oci8-1.0.3-x86-mswin32をインストールする手順です。

1. 上記サイトからruby-oci8-1.0.3-x86-mswin32.gemをダウンロードする

2. 適当なディレクトリにコピーする。(ここでは、c:\downloads以下へ展開します)

3. ワークスペース・コマンダーもしくはプロジェクト・コマンダーで以下のように実行する

>gem install C:\downloads\ruby-oci8-1.0.3-i386-mswin32.gem

インストールが開始すると、下記のようなメッセージが表示されます。

Successfully installed ruby-oci8-1.0.3-x86-mswin32
1 gem installed
Installing ri documentation for ruby-oci8-1.0.3-x86-mswin32...
Installing RDoc documentation for ruby-oci8-1.0.3-x86-mswin32...

念のため、正しくインストールされているかパッケージのバージョンを確認します。

>gem list ruby-oci
*** LOCAL GEMS ***

ruby-oci8 (1.0.3)

ruby-oci8をインストール後、Oracleへ接続することができます。