久々にOracle10gのクライアントをセットアップして、思わぬところでつまづき、終電間際まで作業してしまいました(´Д⊂グスン
同様の症状で困った人が居た時の為に、各種ヒントをWeb上に残しておいてくださった先人たちに敬意を表し、わたしの記録も残しておきます。
背景・経緯
某社社内保守DBサーバのバージョンがoracle9i、わたしのパソコン(Windows7 64bit)にインストールされているoracleは11g。11gのクライアントから、9iのサーバへは接続出来ない。
その際、弊社プログラムが32bitプログラムであり、32bit oracleクライアントが必要なため、Oracle 10g 32bitをインストールしました。
発生したエラー
発生した状況としては、以下のとおりです。
- 弊社32bitブログラムから保守DBサーバへの接続 ⇒ NG
- SQLPlusでの保守DBサーバへの接続 ⇒ 下記エラーが表示されNG
SP2-1503: Oracle Call Interfaceを初期化できません
SP2-0152: Oracleが正常に機能していない可能性があります。
- Object Browserでの保守DBサーバへの接続 ⇒ 下記エラーが表示されNG
ora-03134:このバージョンのサーバーへの接続がサポートされていません
やってみたこと
SP2-1503: Oracle Call Interfaceを初期化できません。SP2-0152: Oracleが正常に機能していない可能性があります。 | shiggy08' ROOM
で、ダメ(´・ω・`)
これで大丈夫だった
Oracleクライアントは、10gR2の『すっぴん』だったが、10gR2SP3まで上げる。これで、『SP2-1503』『SP2-1502』は解消され、弊社32bitプログラムから保守環境への接続はOK。
ObjectBrowserは、環境変数を上から舐めていった結果、32ビット版を無視し、11gR2 64ビットのものを見に行っていたようなので、10gR2 64ビットのインスタントクライアントの中身(oci.dllとか)を、ObjectBrowserのフォルダ直下に配置し、パスにカレントディレクトリを追加。
まったく、それだけのことだったのですが、随分と遠回りをしてしまいました┐(´∀`)┌