Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

utl_file

Estas en el tema de utl_file en el foro de Oracle en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/08/2006, 17:08
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo 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
__________________
Dios es mas grande que tu problema :-)
  #2 (permalink)  
Antiguo 03/08/2006, 06:35
Avatar de Worp9975  
Fecha de Ingreso: mayo-2006
Ubicación: LV-426
Mensajes: 203
Antigüedad: 17 años, 10 meses
Puntos: 1
Pues no dices que has creado ficheros con UTL_FILE en formato CSV ? no sabes usar UTL_FILE , me he liado !
__________________
Time is the fire in which we burn
  #3 (permalink)  
Antiguo 03/08/2006, 17:49
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años
Puntos: 7
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
__________________
Blogzote.com :-) Mi blog
  #4 (permalink)  
Antiguo 10/10/2007, 17:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
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 Ver Mensaje
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
  #5 (permalink)  
Antiguo 29/10/2007, 13:52
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
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.
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 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:21.