Foros del Web » Administración de Sistemas » Unix / Linux »

script shell con llamadas a fichero .sql

Estas en el tema de script shell con llamadas a fichero .sql en el foro de Unix / Linux en Foros del Web. Hola: Necesito un script .sh que ejecute varios ficheros .sql. Lo que tengo hecho es lo siguiente: clear # Inicializar variables ------------------------------------------------------------------------ # Directorio para ...
  #1 (permalink)  
Antiguo 04/03/2010, 12:36
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
script shell con llamadas a fichero .sql

Hola:

Necesito un script .sh que ejecute varios ficheros .sql.
Lo que tengo hecho es lo siguiente:

clear
# Inicializar variables ------------------------------------------------------------------------
# Directorio para los listados de los logs
DIR_LISTADO=/datos/xxx/log
# Directorio para los scripts
DIR_SCRIPTS=/aplic/xxx/scripts
export DIR_SCRIPTS
DIR_FILE=/datos/xxx/file
export DIR_FILE
ORACLE_SID=orac9; export ORACLE_SID
NLS_DATE_FORMAT='DD/MM/YYYY'; export NLS_DATE_FORMAT
NLS_NUMERIC_CHARACTERS=,.; export NLS_NUMERIC_CHARACTERS
# Estas variables deberían ir en el fichero .profile de unix del usuario correspondiente.
# No obstante, yo las pongo aquí porque si no puede haber problemas al ejecutar la cadena,
# dependiendo de con qué usuario se ejecute.
# ----------------------------------------------------------------------------------------------

# Creación de un fichero de log
echo " " > $DIR_LISTADO/xxx.log
echo " " >> $DIR_LISTADO/xxx.log
echo "Proceso de actualización de la xxx" >> $DIR_LISTADO/xxx.log
date >> $DIR_LISTADO/xxx.log

echo "Conectando con la base de datos... " >> $DIR_LISTADO/xxx.log

# Recogemos el usuario y password para nuestra aplicacion y los metemos en variables
# Esto es siempre igual para todas las aplicaciones, sólo cambia el número de 5 dígitos
#----------------------------------------------------------------------------------------------
# Recoger usuario/password BD

. /aplic/xxx/xxx/xxx xxxxxx 01 STRING
STAT=$?
if [ $STAT != 0 ]; then
echo "El objeto de seguridad no es válido." >> $DIR_LISTADO/xxx.log
read resp
exit 1
else
SERVIDOR=`echo $STRING |cut -d '#' -f1`
USUARIO=`echo $STRING |cut -d '#' -f2`
PASSWORD=`echo $STRING |cut -d '#' -f3`
fi
#----------------------------------------------------------------------------------------------
# Después de haber hecho la conexión a BD, ejecutamos el sql correspondiente y mandamos la salida al log

sqlplus -s $USUARIO/$PASSWORD @$DIR_SCRIPTS/xxx1.sql >> $DIR_LISTADO/xxx.log
sqlplus -s $USUARIO/$PASSWORD @$DIR_SCRIPTS/xxx2.sql >> $DIR_LISTADO/xxx.log
sqlplus -s $USUARIO/$PASSWORD @$DIR_SCRIPTS/xxx3.sql >> $DIR_LISTADO/xxx.log
exit;


Solo me ejecuta el primer fichero xxx1.sql y el resto no.
¿Que puede estar pasando?

Gracias.
  #2 (permalink)  
Antiguo 04/03/2010, 14:08
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 11 meses
Puntos: 57
Respuesta: script shell con llamadas a fichero .sql

dentro de cada archivo (xxx1.sql, xxx2.sql, xxx3.sql) tienes la instruccion exit; al final de cada uno?
  #3 (permalink)  
Antiguo 05/03/2010, 07:21
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: script shell con llamadas a fichero .sql

Lo pruebo.
Gracias.

Etiquetas: fichero, llamadas, shell, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:12.