以下のようにoo4oを使ってOracleに接続しています。
Set m_session = CreateObject("OracleInProcServer.XOraSession")
Set m_database = m_session.dbopendatabase(〜〜)
セッションが破棄されたときに、ErrorHandlerでキャッチし、DBに再接続を行うようにしているのですが、「m_session.BeginTrans」でトランザクション処理を開始したときにエラーが発生しません。セッションが破棄されている方法を確認する方法はなにかありませんでしょうか?よろしくお願いします。
追記になりますが、開発環境はOracle8i,VB6(SP5)になります。
oo4oのバージョンによって違います。
・8.1.7(Oracle 8i R8.1.7付属)以降
OraDatabaseオブジェクトの ConnectionOKプロパティで接続が失われたかどうかを確認できます。
・それより古いバージョン
Select 1 from SYS.DUAL の様な「必ず成功するSelect文」を投げて
エラーが発生しないことを確認する
# Oracle製品のバージョンを書く時は R8.1.7 の様に3番目の数字まで書いた方が良いです。
# 今回の例のように8i(8.1.x)でも 8.1.6と8.1.7で違う場合がありますから。
すいません。Oracle8iではなく、『Net8(R8.0.5)』でした。
問題のほうですが、Select文を使用した方法で、エラーの確認を行えるようになりました。こちらのほうで対応しようと思います。
ありがとうございました。
ツイート | ![]() |