Как принять сообщение об ошибке вывода CMD в качестве ввода в командный файл? - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть файл oracle sqldeveloper.

Когда я запускаю его с помощью командного файла, если он обнаружит ошибку, cmd наверняка отобразит ошибку.Можно ли принять ошибку CMD в качестве входных данных для запуска моего пользовательского сообщения об ошибке ??

, если в cmd отображается какая-либо ошибка, например:

Parameter not found

мой заказсообщение об ошибке в пакетном файле вызовет это сообщение об ошибке в cmd:

You Got An Error!

любая помощь и предложения приветствуются ..

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 04 декабря 2011

Я рекомендую использовать SQL * Plus вместо SQL Developer.Вы можете добавить WHENEVER SQLERROR EXIT FAILURE в начало скрипта (или EXIT SQL.SQLCODE, если вас интересует конкретный код ошибки).Затем вызывающий пакетный файл получит код ошибки в% ERRORLEVEL%, и вы сможете принять соответствующие меры.Также существует WHENEVER EXERROR EXIT FAILURE, если ваш SQL-скрипт взаимодействует с ОС с возможностью там сбоев.

Я не думаю, что SQL * Plus использует stderr, поэтому я не думаю, что вам нужно беспокоиться оперенаправление 2> & 1.

0 голосов
/ 02 декабря 2011

Вы можете перенаправить вывод (и stdout, и stderr) в текстовый файл (или в nul, если вам не нужны выходные данные) и проверить значение `% ERRORLEVEL% после того, как ваш скрипт был выполнен,Если это не 0, отобразите свое собственное сообщение об ошибке.

Чтобы перенаправить как stdout, так и stderr:

command parameters 1>>c:\log.txt 2>&1

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