• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PL/SQLでログを確認したい。)

PL/SQLでログを確認したい

このQ&Aのポイント
  • PL/SQLでログを確認する方法について教えてください。
  • 上記のPL/SQLコードでログを取得する方法を教えてください。
  • ログを確認するための効果的な方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • j-h-smith
  • ベストアンサー率39% (133/333)
回答No.3

参考URLをみていただければ分かりますが。 例えば、サーバのDドライブのtempフォルダにtest.txtというログファイルを出力するのであれば。 -------------------------------------------------- OUT_FILE UTL_FILE.FILE_TYPE; BEGIN OUT_FILE := UTL_FILE.FOPEN('d:\temp', 'test.txt','A'); EXCEPTION WHEN OTHERS THEN OUT_FILE := UTL_FILE.FOPEN('d:\temp', 'test.txt','W'); END; UTL_FILE.PUT_LINE(OUT_FILE,'(vn_CNT = ' || vn_CNT || ')'); UTL_FILE.FCLOSE(OUT_FILE); -------------------------------------------------- こんな感じでしょうか。 ログファイルがあれば追加、なければ新規で作成、件数のメッセージを一行書いて、最後にクローズしています。 これを実行すると、 (vn_CNT = 1) (vn_CNT = 5) (vn_CNT = 0) のように出力されます。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl07_1.htm
toshi_200578
質問者

お礼

詳しい説明ありがとうございました。 参考にさせて頂きます。

その他の回答 (2)

  • j-h-smith
  • ベストアンサー率39% (133/333)
回答No.2

dbms_output.put_line はvbでイミディエイトウィンドウにDebug.Printで表示するようなイメージですから、SQL*plusなどのツールでプロシージャを単体で実行する場合には有効ですが、コンパイル済みの実行モジュールから実行する場合は見れません。ですからログを出力する方が良いでしょう。 今手元に資料が無いので書けませんが、ログ出力用の処理を作っておいて、各APから随時呼び出して出力するのが簡単です。 ただし、挙げておられる処理の件数が正しいか判断したいのであれば、やはり単体ステップでの検証を行うべきだと思うのですが... その方が効率的ですよね。

  • j-h-smith
  • ベストアンサー率39% (133/333)
回答No.1

デバッグするだけならば、dbms_output.put_line を使えば見れますが、ログが良いのでしょうか... 参考URLを参照願います。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl16.htm
toshi_200578
質問者

補足

回答ありがとうございます。 見るタイミングはVBのアプリケーション実行時にDBを更新します。更新したタイミングでトリガーが発生し、PL/SQL処理を走ります。そのPL/SQL処理時の値を見たいのです。 dbms_output.put_lineを入れた場合はアプリケーション実行時でも見れるか確認してみます。

関連するQ&A