• Jueves 14 de Noviembre de 2024, 17:04

Autor Tema:  Exportar Un Clob  (Leído 11998 veces)

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Exportar Un Clob
« en: Martes 9 de Agosto de 2005, 09:36 »
0
Buenos días, estoy intentado exportar el valor de un CLOB a un fichero de S.O pero me estoy encontrando con errores.
Primeramente he creado un directorio:
    SQL> create directory PRUEBA_VISTA2 as 'c:\temp';
y he dado permisos al usuario que va a realizar la operacion:
SQL> grant read,write on PRUEBA_VISTA2 to oficinaadm;
grant read,write on PRUEBA_VISTA2 to oficinaadm
                    *
ERROR en línea 1:
ORA-00942: table or view does not exist


SQL> grant read,write on directory PRUEBA_VISTA2 to oficinaadm;
Este es mi procedimiento:
     declare
       fichero utl_file.file_type;
       texto clob;
       cantidad binary_integer:=32767;
       posicion integer:=1;
       texto_l varchar2(32767);
begin
  select campo1 into texto from tabla1;
  fichero:=utl_file.fopen('PRUEBA_VISTA', 'texto.txt','w',32767);
   LOOP
    DBMS_LOB.read (texto, cantidad, posicion, texto_l);
    UTL_FILE.put(fichero, texto_l);
    posicion := posicion + cantidad;
  END LOOP;
  utl_file.fclose(fichero);
end;
/

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Exportar Un Clob
« Respuesta #1 en: Martes 9 de Agosto de 2005, 09:46 »
0
continuacion del anterior
Cuando lo ejecuto obtengo el siguiente error:
    declare
    *
    ERROR en línea 1:
    ORA-29283: invalid file operation
    ORA-06512: at "SYS.UTL_FILE", line 449
    ORA-29283: invalid file operation
   ORA-06512: at line 11
parece como si no reconociera el directorio creado.

¿ALGUIEN SABE COMO RESOLVERLO?

Muchas gracias

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Exportar Un Clob
« Respuesta #2 en: Martes 9 de Agosto de 2005, 15:47 »
0
Código: Text
  1.  SQL> create directory PRUEBA_VISTA2 as 'c:\temp';
  2. y he dado permisos al usuario que va a realizar la operacion:
  3. SQL> grant read,write on PRUEBA_VISTA2 to oficinaadm;
  4. grant read,write on PRUEBA_VISTA2 to oficinaadm
  5. *
  6. ERROR en línea 1:
  7. ORA-00942: table or view does not exist
  8.  
  9.  
  10. SQL> grant read,write on directory PRUEBA_VISTA2 to oficinaadm;
  11. Este es mi procedimiento:
  12. declare
  13. fichero utl_file.file_type;
  14. texto clob;
  15. cantidad binary_integer:=32767;
  16. posicion integer:=1;
  17. texto_l varchar2(32767);
  18. begin
  19. select campo1 into texto from tabla1;
  20. fichero:=utl_file.fopen('PRUEBA_VISTA', 'texto.txt','w',32767);
  21. LOOP
  22. DBMS_LOB.read (texto, cantidad, posicion, texto_l);
  23. UTL_FILE.put(fichero, texto_l);
  24. posicion := posicion + cantidad;
  25. END LOOP;
  26. utl_file.fclose(fichero);
  27. end;
  28. /
  29.  

ummm
1 - no estoy seguro... pero no uede tener un varchar2 tan grande:
texto_l varchar2(32767);
2- le has dado permisos al directorio: PRUEBA_VISTA2

SQL> grant read,write on directory PRUEBA_VISTA2 to oficinaadm;

pero usas PRUEBA_VISTA

fichero:=utl_file.fopen('PRUEBA_VISTA', 'texto.txt','w',32767);

eso por el momento
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Exportar Un Clob
« Respuesta #3 en: Miércoles 10 de Agosto de 2005, 08:23 »
0
Hola JuanK:

   La creación del directorio es correcta y los permisos están bien asignados (en el ejemplo me equivoque al poner PRUEBA_VISTA2).

El problema es que no me reconoce el directorio, ¿es necesario modificar el parametro UTL_FILE_DIR del fichero INIT.ORA para que apunte a la ruta del directorio indicado en PRUEBA VISTA?.

Gracias

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Exportar Un Clob
« Respuesta #4 en: Miércoles 10 de Agosto de 2005, 12:48 »
0
Hola de nuevo,
  además de la creacion del directorio es necesario que el parametro UTL_FILE_DIR tenga el path del directorio donde se va a crear el fichero. A si que ya he conseguido ejecutar mi procedimiento exportando el valor de un campo CLOB a un fichero utilizando UTL_FILE.

Ahora tengo un problema porque se me llena el temporal, ¿alguien sabe como se libera el espacio en el tablespace temporal?

Gracias

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Exportar Un Clob
« Respuesta #5 en: Miércoles 10 de Agosto de 2005, 13:16 »
0
Cita de: "lcauso"
Hola JuanK:

   La creación del directorio es correcta y los permisos están bien asignados (en el ejemplo me equivoque al poner PRUEBA_VISTA2).

El problema es que no me reconoce el directorio, ¿es necesario modificar el parametro UTL_FILE_DIR del fichero INIT.ORA para que apunte a la ruta del directorio indicado en PRUEBA VISTA?.

Gracias
asi es, dependiendo de la version de oracle,
en la 9 en adelante no necesitas establecer ese parametro y todo lo haces haciendo uso de los 'Directories'.

Lo del temporal...
el problema no es liberar el tamaño del tablespace temporal... en teoria ese se libera solo ya que lo usa internamente oracle, lo que debes hacer es ampliarlo porque esta muy pequeño.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Exportar Un Clob
« Respuesta #6 en: Miércoles 10 de Agosto de 2005, 13:23 »
0
Hola, pues yo estoy utilizando una version 9.2.0.1 y he necesitado modificar el valor del parametro para que me funcione.

Muchas gracias por todo

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Exportar Un Clob
« Respuesta #7 en: Miércoles 10 de Agosto de 2005, 16:03 »
0
que raro!!  :blink:

de hecho tenia entendido que en las versiones 9.... no se usaba ya el init .ora sino el .spfile sera que es apartir de una version en particular?
que motor tienes? el completo o el light?

sweria bueno averiguar bien lo del numerode la version pues me he querdao un poco loco.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lcauso

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Exportar Un Clob
« Respuesta #8 en: Jueves 11 de Agosto de 2005, 09:37 »
0
La modificacion del parametro  la he realizado en el spfile