• 締切済み

オラクルセッションが解放できない問題

いつもお世話になります。 1点ご質問があります。 VB5.0、オラクル8.0.5の環境で開発を行っています。 ロジックではオラクルのセッション解放処理を行っているのですが、セッションが残っている問題が発生しております。 憶測なのですが、DCOMが原因でセッションが解放できていないかもしれません。 このように、DCOM使用時にオラクルのセッションが解放しない問題にあった事がある方いらっしゃらないでしょうか? いらっしゃいましたら、アドバイスをお願い致します。 また、DCOM以外でもこのような現象に遭われた方がいましたらアドバイスをお願い致します。

みんなの回答

回答No.1

クライアント側から呼ばれる全メソッド全てに、「on error(エラートラップ)」処理をいれ、 ・abort ・complete 処理を絶対するようにしないといけません。 サーバ側のエラーイエベント利用したいのであれば、どこかでエラー内容を覚えて、イベントを発生させる方法を取ります。 Public Function サーバメイン関数() as boolean on error goto PGMERR   '初期戻り値設定   サーバメイン関数=False   (メイン処理)   (関数コールなどなど)   '正常ステータス設定   サーバメイン関数=True   オブジェクトコンテキスト.コンプリート() PGMEND:   (オブジェクト開放処理など)   exit function PGMERR:   オブジェクトコンテキスト.アボート()   call err.Raise(エラー番号,エラーテキスト)   goto PGMEND End Function 関数全部にこれを埋め込んで行くか、JavaっぽくImplementsというメソッドを利用し、管理クラスを作成する方法もあります。 現在、どのような作りかがわからないので、改造工数次第で考えたらよいと思います。

inoki_koko
質問者

お礼

貴重なご意見、誠にありがとうございます。 今携わっているシステムのPGが500本以上ある為、どうするかはちょっと考えます。

関連するQ&A