Foros del Web » Programación para mayores de 30 ;) » Java »

sqlldr desde java nunca acaba

Estas en el tema de sqlldr desde java nunca acaba en el foro de Java en Foros del Web. Hola, tengo un script en un fichero .bat que ejecuta un sqlldr de Oracle para cargar un fichero a una tabla. Si lo ejecuto desde ...
  #1 (permalink)  
Antiguo 08/02/2010, 09:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
sqlldr desde java nunca acaba

Hola,

tengo un script en un fichero .bat que ejecuta un sqlldr de Oracle para cargar un fichero a una tabla.

Si lo ejecuto desde la consola todo funciona bien, pero si lo ejecuto desde la aplicación java, con este código

Código:
rt = Runtime.getRuntime();
File f = new File(LlistaParametres.getInstance().getDirectoriShells().replace('/', '\\'));
Process process = rt.exec(sb.toString().replace('/', '\\'),null, f);
process.wait();
donde sb contiene la ruta al fichero .bat a ejecutar y f contiene el directorio donde estan todos mis ficheros (.bat i .txt a cargar)

el proceso nunca acaba, aunque empieza.

El sqlldr se ejecuta, inserta una parte de los registros y se queda parado, como bloqueado (no hay ningún bloqueo en la base de datos).

Nada se mueve hasta que paro la aplicación Java, en mi caso paro el Tomcat. Entonces el sqlldr acaba su trabajo bien.

No tengo ni idea de que esta pasando y necesito que alguien me oriente un poco.

Estoy usando el mismo código para ejecutar otros ficheros .bat y funciona perfectamente. Espera a que acabe el proceso y sigue la ejecución normal.

Muchas gracias de antemano,

TONI.
  #2 (permalink)  
Antiguo 08/02/2010, 09:31
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: sqlldr desde java nunca acaba

Y cuando se anula el wait del proceso?
  #3 (permalink)  
Antiguo 08/02/2010, 10:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: sqlldr desde java nunca acaba

Cuando se para el Tomcat el sqlldr termina correctament y acaba de insertar los registros que faltaban a la tabla.

Si no se para el Tomcat nunca termina el sqlldr.

Si no pongo el wait tampoco termina.
  #4 (permalink)  
Antiguo 08/02/2010, 10:25
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: sqlldr desde java nunca acaba

Y Has visto si el archivo del log del SQLLDR te dice algo?
  #5 (permalink)  
Antiguo 09/02/2010, 09:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: sqlldr desde java nunca acaba

El archivo de log se crea al ejecutar el proceso, pero está en blanco hasta que termina.

Y cuando termina el contenido es el normal, como cuando se ejecuta desde la consola.

Por si sirve, en mi aplicación usa Spring e Hibernate y actualmente se ejecuta en Tomcat 5.5 con jdk 1.5.
  #6 (permalink)  
Antiguo 09/02/2010, 10:57
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: sqlldr desde java nunca acaba

Esto es lo que he encontrado sobre el tema buscando por ahí. Quizás no te sirva, quizás sí.

http://www.orafaq.com/forum/t/86872/0/

http://datawarehouse.ittoolbox.com/g...rallel-1669387

http://oracle.ittoolbox.com/groups/t...le-10g-3176352

http://www.freelists.org/post/oracle-l/sqlldr-hanging

Del último enlace he sacado esto:

http://www.google.es/search?hl=es&so...meta=&aq=f&oq=

Que parece ser una herramienta para localizar las causas de los cuelgues en Oracle

A ver si te resulta de utilidad
  #7 (permalink)  
Antiguo 08/07/2010, 03:37
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: sqlldr desde java nunca acaba

Hola, estoy teniendo exactamente el mismo problema con la ejecución de los script desde sqlldr. Se queda enganchado y hasta que no paro el servidor no termina la ejecución. resolviste el problema? Le he dado 1000 vueltas y ya no se que hacer.
Gracias

Etiquetas: sqlldr
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

SíEste tema le ha gustado a 1 personas




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