Hola, estoy ejecutando un script unix que llama a SQLPLus:
.....
export LOGFILE=/automatico/logs.log
export F_UNIX=/export/SMV.SMVS005
export DATAUNLOAD=${SCRIPTS}/sql/smv_contratos.sql
sqlplus $ORASJU_DB_USER/$ORASJU_DB_PASSWD@$ORASJU_DB_SERVER @$DATAUNLOAD $F_UNIX >> $LOGFILE
RetCode=$?
if [[ $RetCode != 0 ]]
....
smv_contratos.sql contiene:
set heading off;
set termout off;
set pagesize 0;
set feedback off;
set tab off;
set linesize 8;
set col PERSONA a8;
! rm &1;
SPOOL &1;
variable r refcursor;
exec :r:= PQSMVASJ_BATCH.CONS_EXPRESO;
print r;
SPOOL OFF;
DISCONNECT;
EXIT;
Lo que pretendo es tener un log que vuelque la actividad y volcar el resultado del procedimiento almacenado (una select) en un fichero F_UNIX. El problema es que no se controlar si hay algun error (de conexion, de acceso a la BD) y todo eso lo vuelca tambien en el fichero. Ademas, siempre devuelve un RetCode 0, haya ido bien o no.
¿Se os ocurre algo?
Gracias