Grâce à la référence donnée par @Kacper, j'ai pu adapter ce sqlplus /nolog
à mon cas; voici l'idée :
- ouvrir
sqlplus
uniquement sans connexion - définir un code de retour spécifique sur
SQLERROR
- c'est ce qui se passe quandconnect
échoue - le code de retour peut être collecté comme d'habitude dans le script de l'appelant :
a.sh
sqlplus /nolog << EOF
WHENEVER SQLERROR EXIT 50
WHENEVER OSERROR EXIT 66
connect /@${MISTERY_DB}
exit;
EOF
Puis l'appel :
/ju $ export MISTERY_DB="eg_NON_EXISTING_DB"
/ju $ a.sh
SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 29 08:43:44 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> SQL> SQL> ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
/ju $ echo $?
50
Également lié : Connectez-vous à sqlplus dans un script shell et exécutez des scripts SQL