В настоящее время я работаю над ошибками регистрации в процедуре. Цель этой процедуры заключается в вызове обработчиков исключений в других пакетах в БД и регистрации ошибок, с которыми сталкивается каждая программа. ниже мой код.номер строки журнала в оракуле
CREATE OR REPLACE PROCEDURE APMS.test_procedure AS
procedure write_error_log (errcode number, errstr varchar2) is
pragma autonomous_transaction;
-- this procedure stays in its own new private transaction
begin
INSERT INTO error_log
(ora_err_tmsp,
ora_err_number,
ora_err_msg,
ora_err_line_no)
values (CURRENT_TIMESTAMP,
errcode,
errstr,
'line number');
COMMIT; -- this commit does not interfere with the caller's transaction.
end write_error_log;
BEGIN
INSERT INTO mockdata
VALUES ('data1', 'mockname', 'mockcity');
exception when others then
write_error_log(sqlcode,sqlerrm);
raise;
END test_procedure;
/
В настоящее время я просто вызывая ошибку в моем mock_data таблицы регистрировать ошибку в таблице error_log и посмотреть, если его функциональный я просто не могу понять, как войти в столбец с номером строки. Я полный новичок, поэтому любая помощь будет оценена. Если кто-нибудь знает, как я мог бы использовать эту процедуру в других пакетах/процедурах для регистрации ошибок в других пакетах, которые также были бы удивительными. Я здесь, чтобы узнать, что любая обратная связь приветствуется, я могу еще больше расширить этот пост, если я не буду ясно.
Я использую этот пакет от Steven Feurstein. По-видимому, он недоступен у Жабы больше, но можно найти здесь http://awads.net/wp/2007/08/08/new-oracle-plsql-error-management-framework-released/ Зачем писать его, когда вы можете использовать установленный пакет? – kevinsky
Спасибо за ресурсы, к сожалению, я использую Toad, и мой начальник хотел бы, чтобы я изучил и написал процедуру для других программ для запуска в своем обработчике исключений. – Jules