Чтобы зафиксировать ошибку при выполнении Sybase IQ SQL с использованием dbisqlc внутри оболочки ksh, скрипт
У меня есть сценарий оболочки, как показано ниже, через который я подключаю Sybase IQ через dbisqlc.
Я хотел бы захватить, если есть ошибка, любая ошибка возникает во время выполнения скрипта. Я закодировал как ниже. Но несмотря на то, что при выполнении SQL-кода происходит сбой, счетчик возврата всегда равен 0.
dbisqlc -c "uid=UID;pwd=PWD;eng=DEV;links=tcpip(host=XXXX;port=XXX)" -q Query.sql OutputDumpFile
RC=`echo $?`
if [ $RC != 0 ]
then
echo "ERROR: Error in DB Query Execution"
fi
Помогите пожалуйста как перехватить ошибку SQL в UNIX для Sybase IQ
1 ответ
Согласно этой документации, dbisql
рекомендуется более dbisqlc
:
Рекомендуется по возможности использовать утилиту Interactive SQL (доступ к которой осуществляется с помощью команды dbisql или путем выбора Пуск "Программы" SQL Anywhere 11 "Interactive SQL), поскольку утилита dbisqlc поддерживает не все функции, которые делает Interactive SQL.
Это говорит:
Только утилита dbisql может предоставить коды выхода из сценария SQL.
Исходя из этого, мне кажется, что dbisqlc
не передает информацию через коды выхода.