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