【问题标题】:Handling ORA error in Unix shell script处理 Unix shell 脚本中的 ORA 错误
【发布时间】:2016-02-10 10:47:30
【问题描述】:

我正在尝试执行一个实际运行 SQL 并返回值的脚本,写入 CSV 文件并发送。

/data/oracle/product/10.2.0.4/bin/sqlplus -s user_name/password@DBName @/export/home/script/abc.sql

我想在运行 SQL 部分出现任何错误时捕获错误,但它总是挂起。

我尝试在上述语句之后加上“(($?)) && ((ERRORS += 1))”,但它从未到达该行。

我想在变量 ERROR 中捕获错误代码并以错误代码退出。

请帮忙

【问题讨论】:

    标签: shell unix


    【解决方案1】:

    你可以把它放在 TRY-Catch 块下。参考这个manual

    【讨论】:

      【解决方案2】:

      为了能够通过 shell 脚本捕获错误,您必须从 SQL 中删除错误处理并将脚本设置为回滚并返回错误:

      当 OSERROR 退出 9 回滚时; WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多