EoleErrorについて

解決


カンナバーロ  2004-07-07 00:22:27  No: 9782

初めて投稿します。

Delphi5+Oracle8+oo4oで開発を行っているのですが、自分のマシンでは
ちゃんと処理ができて動作しているのですが、このプログラムを他のマシンに
もっていき動作させようとするとEoleErrorクラス例外でバリアントオート
メーションオブジェクトを参照していないとのメッセージがでてしまい処理が
中断してしまいます。

メッセージが出る場所はOracleに接続しようとしているところで発生してい
ます。

objOraSession   :=  
  CreateOleObject('OracleInProcServer.XOraSession');  ←ここででます。
objOraDatabase  :=  
  objOraSession.OpenDatabase[strDBName,strUserName + '/' + strPassword, 0];

新しく動作させようとしたマシン単体ではOracleにはsql*plusで接続確認は
取れているのですが、プログラムから起動したときにエラーになってしまい
ます。
たぶん環境の問題と考えているのですが手詰まりになってしまいました。
すみませんがどなたか教えてください。


にしの  2004-07-07 00:25:19  No: 9783

Oracleのバージョン違いとかでしょうか。
似たような現象を聞いたことがあります。
8と8iの両方をインストールしたことありませんか?


カンナバーロ  2004-07-07 01:06:41  No: 9784

にしのさん、返信ありがとうございます。

Oracleのバージョン等を調べてみたのですがバージョンは
同じみたいです。
ちなみにoo4oのバージョンも同じでした。

もし、Oracleのバージョン等違っていた場合、プログラムの記述とか
変わってくるのでしょうか?

何が原因なのか検討がつかないです。
とりあえず、Delphiの環境設定等を見直してみます。


にしの  2004-07-07 01:13:55  No: 9785

Oracle8とOracle8iでは、oo4oの扱いが少し変わるらしいです。
人づてで聞いたので確認してませんが・・・。

他に考えられるとしたら、レジストリが壊れていないか、Javaがインストールされていないか(Oracleは、自分で持つJavaで動く)。
他はちょっと思い当たりません。

Javaであれば、PATHからJDKのパスを消してみてください。
その際、再起動が必要になるかもしれません。
Javaも頻繁に使うのであれば、コマンドプロンプトのショートカットを作り、PATHにJDKのパスを設定するBATファイルを作成し実行させてください。


カンナバーロ  2004-07-07 02:42:29  No: 9786

今回のOSはXPだったのですがそれ以外のマシンで動作確認
したところ多少設定が違っていたところもありましたが
なんとか動作することができました。

おそらく、レジストリが壊れている可能性が高いかと
思われます。
私のマシンではないのでなんともいえませんがとりあえず
他のマシンでは動作確認がとれましたのでそちらのマシン
でやっていきます。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加