質問: aspのサービスが停止してしまう はじめまして、高橋です。okwebは初めてです。 aspで社内用のwebアプリケーションを作成し、運用中なのですが 時々(現在のところ2~3日に1度)、サーバのaspのサービスだけが 停止してしまい困っています。 aspが実行できなくなってもノーマルなhtmlファイルは正常に表示されます。 サーバを再起動すれば復活するのですが・・・ 具体的には 最初のユーザー認証の画面(aspファイルですが、dbへのアクセスは無し) は表示されるのですが、パスワード確認用のスクリプトへsubmitすると 砂時計状態になってしまいます。 どうもdb(mdb)へアクセスする部分で停止しているような気がします。 サーバはntserver4.0 + iis4.0です。 社内の人間に聞き取り調査をした結果、 以下2点の原因らしきものが考えられました。 (1)aspスクリプト内で作成したオブジェクトを明示的に開放していない事。 これに関してはすべてのオブジェクトについてnothingキーワードにて 明示的に開放しました。 (2)odbcの設定で、バッファの容量が少ない。 これに関しては初期値が512(kb)になっていたので ひとまず2048(kb)に変更してみました。 以上の対策は取ってみたものの、 未だ原因がわからず不安定な状態が続いています。 皆様は、同様の経験がありますでしょうか? もしくは、別にこんなことが考えられるといったご意見もありましたら御教授ください。 よろしくお願いします。
回答: 私も同様の経験があります。 その時には、odbcの接続中のエラー処理が不十分で、エラーになったオブジェクトを解放していないのが原因で、次のodbcオブジェクトの生成に失敗して、その失敗に起因して、処理が止まってしまっていました。 odbcの接続や操作は、必ず失敗するって思い。全ての操作で例外処理を追加して対処した所、サーバ停止の頻度が激減しました。実用レベルまで頻度を落としたとは、サーバの動作を監視して、サービスが停止状態だった場合に、サービスを再起動するスクリプトを組んで、組込むことで対応しました。