SAK 図書館
VB oo4o + SQL 応用編2 oo4o エラー - エラーチェック、エラー処理
oo4o は、Oracle RDBMS でみ使用可能です。 ■SQL エラーコード、メッセージの引き取り ・一般の VB 実行時エラーと同じに SQL 実行のエラーも引き取れる。 SQL 文に起因するものは、SQL Plus で実行してみれば、更に詳細なエラー を見極めることができる。 尚、on local error goto 0 で、エラーコードはリセットされるので注意。 最近の VB では、on error resume next と書くのが普通かもしれない。 Excel の VBA や ASP では、local キーワードはエラーになる。 ・OraSession.LastServerErr には、oo4o の最終エラーコードが、 OraSession.LastServerErrText には、対応するメッセージが格納される。 エラーリセットには、OraSession.LastServerErrReset を使用する。 但し、VB の error に OraSession.LastServerErrText のメッセージが追加 されるようである。更新系以外は、err によるエラー処理だけでシンプルに コードできる。 ・OraSession.LastServerErr とは別に OraDatabase.LastServerErr がある。 更新系の命令の中には VB の err は 0 のままで、oo4o がエラーとなって いる事象がある。このとき、OraSession.LastServerErr も 0 である。 しかし、OraDatabase.LastServerErr には、エラーコードがセットされる。 従って、更新系の SQL 発行では VB の err と OraDatabase.LastServerErr の両方をチェックする必要がある。 OraDatabase.LastServerErr には、エラーコードが、 OraDatabase.LastServerErrText には、エラーメッセージが、 OraDatabase.LastServerErrPos には、SQL のエラー箇所がセットされる。 エラーリセットには、OraDatabase.LastServerErrReset を使用する。 '** エラートラップ開始 on error resume next '** oo4o エラーリセット OraDatabase.LastServerErrReset '** トランザクション開始 OraSession.BeginTrans '** 更新処理 OraDatabase.ExecuteSQL "insert into sak.練習テーブル名 values " _ & "(データ1, データ2...)" '** エラーチェック if err <> 0 or OraDatabase.LastServerErr <> 0 then OraSession.Rollback MsgBox "更新に失敗しました。" & chr(10) _ & err & ": " & error & chr(10) _ & "oo4o: " & OraDatabase.LastServerErrText exit function end if '** トランザクション終了 OraSession.CommitTrans '** エラートラップ終了 on error goto 0 ■VB oo4o + SQL 応用編資料
■VB ADO + SQL 応用編資料
■VB RDO + SQL 応用編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料
■VB テクニック編資料