SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK