Обнаружить ошибку sqlplus в пакетном скрипте dos? - PullRequest
4 голосов
/ 08 февраля 2011

У нас есть следующий пакетный скрипт:

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

if %errorlevel% gtr 1 goto dberror

Проблема в том, что оператор if %errorlevel% gtr 1 никогда не отображается как истинный при возникновении ошибки SQL.

Если мы поместим мусорные команды в файл 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. Это будет работать, если я сделаю drop table blah, но не будет работать только с командой blah

1 Ответ

8 голосов
/ 08 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...