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!!
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


0