Oracle10gのType2ドライバを使ってEclipseからDBにアクセスする方法
Type4でしか動かしたことなかったら苦戦しました...ここにメモしておきます。
EclipseはWindowsで実行します。
JDBCドライバ
Type2とType4で異なるjarというわけではなく同じjarでいけます。使ったのはojdbc14.jarです。
Oracleクライアント
Type2を使う場合はOracleクライアント(専用のdllなど)が必要です。ただ、データベースをインストールしたPCにはOracleクライアントがすでに存在するので別途のインストールは不要です。
接続文字列
Type4のときとは異なります。
8iだとまた若干違うらしいですが、10gでは次の文字列でいけます。
jdbc:oracle:oci:@xxx
xxxはtnsnames.oraファイルに記述されているキー名に合わせます。
tnsnames.ora
抜粋です。
xxx = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = yyy)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = zzz) ) )
xxx、yyy、zzzは環境ごとに異なる値です。
たぶん、自分で記述しなくてもデータベース作成時に勝手にできるんじゃないんでしょうか。
Eclipse
実行時にType2のドライバが使用するdllを読み込めるようにします。
- メニューから「Run」-「Run...」を選択。
- 「Run」ダイアログが開く。
- Environmentタブを選択。
- 「New」ボタンを押下。
- 「Name」にPATH、「Value」にORACLE_HOME\binを設定。
4で「Select」ボタンを押してすでに定義されている環境変数のPATHを選ぶこともできましたが、これを選択してもうまくいきませんでした。そのままでは余分なパスが含まれているからでしょうね。必要最低限のパス(ORACLE_HOME\bin)を設定するのがいいみたいです。
この設定で動かすと無事Type2ドライバでOracleにアクセスできます。
めでたしめでたし。