gpt4 book ai didi

oracle - 在 sqlplus 中执行时将 plsql 错误消息重定向到日志文件

转载 作者:行者123 更新时间:2023-12-01 11:50:06 25 4
gpt4 key购买 nike

需要一种在 sqlplus 中执行时将 PL/SQL 程序错误消息重定向到日志文件的方法。

假设 PL/SQL 程序名为 send_2012.sql 并且它有以下异常 block

EXCEPTION
WHEN NO_DATA_FOUND
THEN
var_err := 'Data not found. ';
WHEN OTHERS
THEN
var_err := 'Error in '
|| $$plsql_unit
|| ' | '
|| SQLERRM
|| ' | '
|| 'Details: '
|| DBMS_UTILITY.format_error_backtrace;
END;

要在 KornShell (ksh) 脚本中运行 PL/SQL 程序,我有:

sqlplus some_username/'some_password' @some_database \
@/some/directory/send_2012.sql \
$parameter1 $paramenter2

假设执行send_2012.sql时出错,如何将错误信息从var_err重定向到/some/log/directory/log_send_2012.txt

非常感谢。

最佳答案

像这样设置你的脚本:

-- test.sql script run from sqlplus
set serveroutput on
set echo on
WHENEVER SQLERROR EXIT SQL.SQLCODE
spool on
spool test.log

declare
l_val date;
begin
select sysdate into l_val from dual where 1=0;
exception
when others then raise;
end;
/

spool off

从该目录登录到 sqlplus 并运行:

SQL>@test.sql

您会在日志文件 (test.log) 中找到异常。

关于oracle - 在 sqlplus 中执行时将 plsql 错误消息重定向到日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com