• 締切済み

Microsoft Visual C++ Runtime Libraryについて

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) ------------------------------------------------ 上記エラー画面にて「中止」ボタンを押すとデータベースに接続可能になります。その他に「再試行」ボタンと「無視」ボタンがありますが、押したことがありません。 上記エラーの原因と対処方法をご存知の方がいらっしゃいましたら、ご教示ください。 宜しくお願いします。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

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

akune
質問者

お礼

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

関連するQ&A