oracle – 在dos批处理脚本中检测sqlplus错误?

我们有以下批处理脚本:

(
echo @release.sql
echo exit
) | sqlplus x/y@orcl

if %errorlevel% gtr 1 goto dberror

问题是 – 如果存在sql错误,%errorlevel%gtr 1似乎永远不会出现的声明.

如果我们将spam命令放在release.sql文件中,sqlplus会抱怨:

SQL> SP2-0042: unknown command "blah" - rest of line ignored.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

但是%errorlevel%仍然等于0.我们如何确定存在sql错误?

更新:此代码似乎适用于某些SQL错误.它会工作,如果我删除表格,但它不会只用命令blah

解决方法

看一眼:

更好的SQLERROR

http://download.oracle.com/docs/cd/E11882_01/server.112/e16604/ch_twelve052.htm

在OSERROR

http://download.oracle.com/docs/cd/E11882_01/server.112/e16604/ch_twelve051.htm

dawei

【声明】:嘉兴站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。