Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Oracle (http://www.forosdelweb.com/f100/)
-   -   utl_file (http://www.forosdelweb.com/f100/utl_file-414178/)

maurimono 02/08/2006 17:08

utl_file
 
Hola.
Hasta ahora he creado archivos de texto o csv a partir del poblado de una tabla.
pero esto lo hace lento. Alguiien sabe como usar utl_file ?
http://www.psoug.org/reference/utl_file.html
:-)

Worp9975 03/08/2006 06:35

Pues no dices que has creado ficheros con UTL_FILE en formato CSV ? no sabes usar UTL_FILE , me he liado !

kikolice 03/08/2006 17:49

utl_file sirve para manejar archivos del lado del servidor de la base de datos, con pl/sql, se debera configurar el valor en el init.ora "UTL_FILE_DIR" para permitirle a la base de datos escribir en el directorio seleccionado ( requiere reinicio de la instancia de la base de datos )

UTL_FILE_DIR=c:\archivos

o en cualquier directorio con:

UTL_FILE_DIR=*

por ahi debes de empezar antes de querer usar utl_file

jjlopezc76 10/10/2007 17:26

Hola sobre el tema de utl_file
 
Hola kikolice, ya realice las indicaciones que mencionas ahora cual es el paso a seguir, me pudieras ayudar por favor

Cita:

Iniciado por kikolice (Mensaje 1648446)
utl_file sirve para manejar archivos del lado del servidor de la base de datos, con pl/sql, se debera configurar el valor en el init.ora "UTL_FILE_DIR" para permitirle a la base de datos escribir en el directorio seleccionado ( requiere reinicio de la instancia de la base de datos )

UTL_FILE_DIR=c:\archivos

o en cualquier directorio con:

UTL_FILE_DIR=*

por ahi debes de empezar antes de querer usar utl_file


matanga 29/10/2007 13:52

Re: utl_file
 
Hola,

Este es un ejemplo de la documentacion de Oracle sobre como utilizar el package UTL_FILE.

Código:

DECLARE
  V1 VARCHAR2(32767);
  F1 UTL_FILE.FILE_TYPE;
BEGIN
  -- En este ejemplo MAX_LINESIZE es menos que la longitud solicitada por GET_LINE
  -- asi que el numero de bytes devueltos sera 256 o menos si se encuentra un delimitador de linea.
  F1 := UTL_FILE.FOPEN('MYDIR','MYFILE','R',256); --256 es MAX_LINESIZE
  UTL_FILE.GET_LINE(F1,V1,32767);
  UTL_FILE.FCLOSE(F1);

  -- En este ejemplo, MAX_LINESIZE en FOPEN es NULL y el valor por defecto es 1024
  -- asi que el numero de bytes devueltos sera 1024 o menos si se encuentra un delimitador de linea.
  F1 := UTL_FILE.FOPEN('MYDIR','MYFILE','R');
  UTL_FILE.GET_LINE(F1,V1,32767);
  UTL_FILE.FCLOSE(F1);

  -- En este ejemplo, GET_LINE no especifica un numero de bytes, asi que el valor por defecto es
  -- el mismo que MAX_LINESIZE de la funcion FOPEN, que es NULL, por lo tanto 1024 bytes,
  -- asi que el numero de bytes devueltos sera 1024 o menos si se encuentra un delimitador de linea.

  F1 := UTL_FILE.FOPEN('MYDIR','MYFILE','R');
  UTL_FILE.GET_LINE(F1,V1);
  UTL_FILE.FCLOSE(F1);

END;

1. Falta, en el ejemplo, el manejador de excepciones, el mismo paquete provee algunas muy utiles, como por ejemplo INVALID_PATH, READ_ERROR, WRITE_ERROR, INVALID_FILENAME, ACCESS_DENIED, DELETE_FAILED, etc. Aunque siempre se puede utilizar OTHERS.

2. No probe el codigo, no se si supera el parseo.

3. Nota adicional, UTL_FILE_DIR=* es valido como contenido del parametro, pero es considerado no-seguro, cualquier usuario de base de datos con permisos de ejecucion sobre el paquete UTL_FILE, tendra el mismo nivel de acceso al filesystem que el usario oracle en Linux/Unix y que System en Windows.

Saludos.


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.