将日志添加到在sqlplus中执行的外部.sql日志文件中

问题描述 投票:0回答:1

我有一个 test.sh 脚本,其中包含以下代码:

LOG=output.log

sqlplus -s user/pwd@db << EOF > ${LOG}
    WHENEVER OSERROR EXIT 9;
    WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK;

    @testsqlfile
EOF

testsqlfile.sql文件:

SET SERVEROUTPUT ON

EXEC DBMS_OUTPUT.PUT_LINE('TEST');

我无法将testsqlfile.sql中打印的日志添加到output.log文件中。

如果我直接在 test.sh 脚本中添加 SET

serveroutput
EXEC DBMS_OUTPUT.PUT_LINE('TEST'); ,它就可以正常工作。但我无法将其添加到按照描述执行的外部 testsqlfile.sqloutput.log 文件中。

据我发现它应该有效,但事实并非如此。

谢谢。

oracle shell sqlplus
1个回答
0
投票

由于没有提供答案,我只是直接在 bash 中执行 sql 脚本。

sqlplus -s user/pwd@db << EOF > ${LOG}
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK;

Direct query
EOF

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.