「みんな教えて! 選手権!!」開催のお知らせ

Windows2003サーバにて以下のエラーが発生し、同サーバ内にあるOracleデータベースに接続できなくなってしまうという現象が発生しています。Oracleデータベースのバージョンは9.2です。

以下エラーメッセージです。
-------------------------------------------------
Assertion failed!

Program: C:\WINDOWS\system32\dllhost.exe
File: E:\test\oo4o92\020426\oraipsrv\src\ociserv.cpp
Line: 118

Expression: OCIHandleFree((dvoid *) m_hOCIServer.OCI_HTYPE_SERVER)==OCI_SUCCESS

For information on how your program can cause an assertion
failure.see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
------------------------------------------------
上記エラー画面にて「中止」ボタンを押すとデータベースに接続可能になります。その他に「再試行」ボタンと「無視」ボタンがありますが、押したことがありません。

上記エラーの原因と対処方法をご存知の方がいらっしゃいましたら、ご教示ください。
宜しくお願いします。

A 回答 (1件)

あんまり確かなことは言えないのですが、


エラーメッセージによると、
dllHost.exeというプログラムのソースである
ociserv.cppという部分の
118行目でアサートが失敗した。
アサートというのは、
これ以降の処理の部分で、この値が、こうなっていなければならないというような場合にやります。
成功すれば特に必要ない部分なので書かなくてもよいのですが、
ほとんど、絶対成功するはずであるが
以下の処理には、これが成功していないとだめなのだ
というような場合に書きます。
この場合、
OCIHandleFreeという関数が成功(OCI_SUCCESS)を返すことが必要であるということをテストしています。
エラーメッセージがでたということは、この式が成立しなかったということです。
このメッセージがでても、特別アプリケーションの実行に影響がないなら問題ないですが、
このプログラムを作成した人に報告して、
この条件の成立が本当に必要ないものなら、ソースを変更して、アサートを削除してもらう。
あるいは、必要なもので、こういうエラーが起こりうるのであるから、
エラーに対処したプログラムに変更して貰う必要があると思います。

こうした、デバッグモードで動いているソフトだということは、自社開発のソフトだと思いますので、
ソフト開発担当者に連絡してみて下さい。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。
開発者に問い合わせてみます。
エラーメッセージに記載されていたファイル
E:\test\oo4o92\020426\oraipsrv\src\ociserv.cpp
が存在していませんでした。

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

お礼日時:2004/12/16 09:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報