前提・実現したいこと
DB接続エラー時にOracleのメッセージを出力したい。
発生している問題・エラーメッセージ
①INSERT処理を開始します。 ②データベースに接続できませんでした。 ③INSERT処理はDB接続エラーにより異常終了しました。
②と③の間で、Oracleのエラーメッセージを出力させようとしているのですが、
うまく取得できていないのか、ログに出力できません。
該当のソースコード
vbs
1'-------------------------------------------' 2' DBコネクションの確立 3'-------------------------------------------' 4Err.Number = 0 5 6Dim Connection 7Dim objADODbConnErr 8 9Set objADO = CreateObject("ADODB.Connection") 10Connection = "Provider=OraOLEDB.Oracle;Data Source=" & DATABASE & ";User ID=" & DB_UID & ";Password=" & DB_PWD 11 12'タイムアウト時間 無制限 13objADO.ConnectionTimeout = 0 14objADO.Open Connection 15 16'CSVファイル挿入のため、トランザクション開始 17objADO.BeginTrans 18 19'DBコネクションが取得できない場合 20If Err.Number <> 0 Then 21 Set objADODbConnErr = objADO.Errors.Item(0) 22 objLogFile.WriteLine (codeDateTime & ": データベースに接続できませんでした。") 23① objLogFile.WriteLine (codeDateTime & ": NativeError(ORA):" & objADODbConnErr.NativeError) 24② objLogFile.WriteLine (codeDateTime & ": Description:" & objADODbConnErr.Description) 25③ objLogFile.WriteLine (codeDateTime & ": Number:" & objADODbConnErr.Number) 26 Set objADODbConnErr = Nothing 27 Set objADODbConnErr = Nothing 28 WScript.Quit( ERR_DbConnect ) 29End If 30
試したこと
この状況で、定数にしているOracleDBのパスワードを変えて接続できないようにしていますが、ソースコードの①~③のメッセージが出力されません。
補足情報(FW/ツールのバージョンなど)
Windows7
OracleDB 11g
VBScript
Batch cmdファイルでVBS呼び出し
Set objADODbConnErr = objADO.Errors.Item(0)
この部分でエラーコレクションの要素数が0で取得できていないようです。
接続は失敗しており、同状況にてcmdよりORA-01017が確実に発生しているのを確認済みです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー