Escribir archivo en PL SQL

Con PL SQL podemos crear archivos en el servidor de esta forma:

PLSQL:
  1.    wv_filename VARCHAR2(1000);
  2.    wv_unixpath VARCHAR2(1000);
  3.    wf_output   UTL_FILE.FILE_TYPE;
  4.    wv_filename       := 'prueba.txt';
  5.    wv_unixpath      := '/directorio/de/escritura';
  6.    //Abre (o crea) el archivo para escritura
  7.    wf_output        := UTL_FILE.fopen (wv_unixpath,wv_filename,'w');
  8.    //Excribe un par de líneas
  9.    UTL_FILE.put_line (wf_output,'línea de prueba');
  10.    UTL_FILE.put_line (wf_output,'otra línea de prueba');
  11.    //Cierra el archivo
  12.    UTL_FILE.fclose (wf_output);
  13.       DBMS_OUTPUT.put_line('Error: '||SQLERRM);
  14. END;

Nota: He puesto un espacio en blanco luego de las sentencias de UTL_FILE porque de lo contrario no es posible publicar el código.

Puntos a considerar

La función UTL_FILE.fopen recibe como parámetros la ruta del directorio, el nombre del fichero y una bandera que indica la acción: W para escribir en un archivo o R para leer un archivo. En caso el archivo no exista, será creado. En caso el archivo exista, será sobre-escrito.

El usuario con el que corre Oracle debe tener permisos de escritura en el directorio. Además en el archivo init.ora se debe configurar:

UTL_FILE='/directorio/de/escritura'

Luego de esta configuración, se debe reiniciar la base de datos.

2 Comentarios

  1. Comentado Febrero 15, 2009 a las 9:14 pm | Permalink

    Muchas gracias justo lo que necesitaba

  2. carllojan
    Comentado Noviembre 23, 2009 a las 8:57 am | Permalink

    hola como hago para que el archivo no me lo cree en el server sino en el pc desde donde estoy trabajando gracias de antemano

Escribe un Comentario

Su correo nunca será publicado ni compartido. Los campos requeridos están marcados *

*
*
CC 2009 El Módem. Some rights reserved.