Чтобы зафиксировать ошибку при выполнении Sybase IQ SQL с использованием dbisqlc внутри оболочки ksh, скрипт - PullRequest
0 голосов
/ 03 января 2019

У меня есть сценарий оболочки, как показано ниже, через который я подключаю 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 Ответ

0 голосов
/ 03 января 2019

Согласно этой документации , dbisql рекомендуется более dbisqlc:

Рекомендуется использовать утилиту Interactive SQL (доступ к ней используя команду dbisql или выбрав Пуск »Программы» SQL Везде 11 »Интерактивный SQL), где это возможно, потому что dbisqlc Утилита не поддерживает все функции, которые делает Interactive SQL

Далее говорится:

Только утилита dbisql может предоставить коды выхода из SQL-скрипт.

На основании этого мне кажется, что dbisqlc не передает информацию через коды выхода.

...