Mover un fichero con Procedimiento Almacenado

JackazZ
15 de Noviembre del 2005
Que tal chicos, ahi va una dudilla:

Estoy haciendo un procedimiento almacenado que importa registros de un fichero de texto a mis tablas.

El caso esta en que una vez procesado el fichero correctamente necesito moverlo a otra ruta ("/procesados" por ejemplo) y si el procedimiento falla querria moverlos a otra ("/fallidos").

No he encontrado ningun paquete de oracle que a simple vista me permita hacer esto. Es posible?

Gracias de antemano :)

f_gallego
15 de Noviembre del 2005
¿no puedes hacerlo con shell ??

copia_ficheros.sh

ejecuta_procedimiento_oracle.sh

mueve_ficheros.sh
`
por ejemplo.

Salu2.

JackazZ
15 de Noviembre del 2005
No, si por poder claro que puedo :P

El caso esta en que en un principio queriamos que fuera el propio oracle el que moviera el fichero, porque las rutas absolutas dependeran de cada cliente y estan parametrizadas en la BBDD.

Si no fuera posible pues tirariamos de sh ;)

Gracias de todas formas...

Carlos
15 de Noviembre del 2005
Si tienes una 9i, utiliza el UTL_FILE

JackazZ
15 de Noviembre del 2005
Que va, es una 8.1.6.0.0

No hay forma no?

Por cierto, ya que estamos con el PL.

He estado echando un vistazo a las excepciones que puede lanzar UTL_FILE.GET_LINE y si mis ojos no me engañan veo una NO_DATA_FOUND (EOF supongo).

Pues al compilar, Oracle me dice que el componente NO_DATA FOUND tiene que ser declarado. Que esta pasando?

Ejemplo:

EXCEPTION
WHEN UTL_FILE.GET_LINE THEN
DMBS_OUTPUT.PUT_LINE('EOF CHAVAL :P');

Ahi me canta el error...

Gracias de antemano a todos :)

JackazZ
15 de Noviembre del 2005
Perdonen, el codigo correcto es:

EXCEPTION
WHEN UTL_FILE.NO_DATA_FOUND THEN
DMBS_OUTPUT.PUT_LINE('EOF CHAVAL :P');

Gracias :)