Linux/Unix Shell Scripting - Problemas en Ejecutar Shell desde Java

 
Vista:

Problemas en Ejecutar Shell desde Java

Publicado por David Flores (1 intervención) el 20/08/2008 19:02:55
Que tal,

Estoy haciendo una aplicacion en java que ejecutara un shell. En esto no tengo ningun problema simplemente lo ejecuto asi:

String path = "/scripts/productividad/validaTransacciones.sh";

Process p = Runtime.getRuntime().exec(path);

El shell lo ejecuta correctamente, pero el problema esque mi shell hace una carga a la base de datos en Oracle con un sql loader. Pero esta parte NO la ejecuta. Realiza muy bien todo mi shell pero como que se salta esa parte.

if [ -s $rutaArchivo/carga.txt ]; then
echo "NO HUBO ERRORES. Va a hacer la carga a BD "
cp carga.txt carga.dat
sqlldr userid=$USERDB/$PWSDB@$DATABASE control=cargaTransacciones.ctl log=cargaTransacciones.log bad=encabezado.bad
cat $rutaArchivo/cargaTransacciones.log|grep 'Rejected - Error' > $rutaArchivo/logErrorCarga.txt

Cabe decir que si el shell lo ejecuto desde fuera de java, con mi comando ./validaTransacciones.sh Este funciona muy bien y si hace correctamente la carga a la base de datos. Pero no se que me falte agregar en el shell o en java para que tambien lo haga si lo ejecuto desde mi aplicacion. Alguien sabra que nesesito? o a alguein ya le habra pasado esto??

De antemano gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas en Ejecutar Shell desde Java

Publicado por Iván Garcerant (27 intervenciones) el 26/08/2008 06:56:42
Saludos.

¿Será el problema debido a la combinación de directorios absolutos y relativos? Yo intentaría tener control sobre los directorios de trabajo dentro del script para minimizar los posibles problemas que surgen al ser ejecutado este, desde uno u otro directorio.

Lo digo ya que te trabaja con "./tu-script" pero te falla con "/home/tu-ruta/tu-script", lo veo un poco sospechoso y pienso que puede ser un simple error de gestión del directorio de trabajo.

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar