當您對dbms_output
調用(PUT_LINE方法,我假設),輸出被泵到stderr,而不是任何日誌文件。
我也希望你使用一個工具,如Log4PLSQL或創建一個記錄表,並具有記錄所有錯誤此表的自治事務。
你基本的錯誤日誌程序會是這個樣子:爲錯誤記錄程序
PROCEDURE log_errors(p_error_details varchar2) is
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO ERROR_LOG(SR_NO, ERR_MSG, ERR_DATE)
VALUES(ERR_LOG_SEQ.NEXTVAL, p_error_details, sysdate);
COMMIT;
END log_errors;
支持腳本:
CREATE TABLE ERROR_LOG(SR_NO NUMBER, ERR_MSG VARCHAR2(2000), ERR_DATE DATE);
CREATE SEQUENCE ERR_LOG_SEQ MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 20;
現在,只需添加一個異常處理程序&調用此PL/SQL過程中的過程給你提供了問題。
BEGIN
....
EXCEPTION
...
WHEN OTHERS THEN
log_errors(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
所有的異常將被處理並存儲在ERROR_LOG
表。
u能爲我提供任何記錄儀工作的存儲過程的代碼? – user595014
@ user595014已更新。此外,您之前的一些問題已得到解答,但您未將其標記爲已回答(點擊回答旁邊的複選框即可)。檢查以前的問題並將其標記爲已接受 – Sathya