こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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)
------------------------------------------------
上記エラー画面にて「中止」ボタンを押すとデータベースに接続可能になります。その他に「再試行」ボタンと「無視」ボタンがありますが、押したことがありません。

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

投稿日時 - 2004-12-15 14:53:54

QNo.1128132

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

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

投稿日時 - 2004-12-15 19:06:29

お礼

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

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

投稿日時 - 2004-12-16 09:23:11