update tutorial terminado tabla procedimientos procedimiento hacer español developer crear bloque anonimo almacenados almacenado oracle plsql utl-file

tutorial - Cómo crear una carpeta zip en plsql(Oracle)



procedure anonimo oracle (1)

ver el enlace al paquete az_zip al final de esta discusión Zip usando Oracle Stored Procedure

https://technology.amis.nl/wp-content/uploads/2010/06/as_zip10.txt

Estoy creando un archivo en un directorio que estoy especificando. Deseo que en cada ejecución se cree un nombre de carpeta diferente en un directorio con un nombre de archivo diferente. Y esta carpeta debe estar comprimida.

Actualmente estoy usando:

create or replace PROCEDURE xx_WriteBLOBToFILE (myfilename IN VARCHAR2,L_PERSON_ID IN NUMBER) IS v_blob BLOB; blob_length INTEGER; out_file utl_file.file_type; v_buffer RAW(32767); chunk_size BINARY_INTEGER := 32767; blob_position INTEGER := 1; BEGIN -- Retrieve the BLOB for reading Select Image Into V_Blob From Per_Images Where Parent_Id =L_PERSON_ID; -- Retrieve the SIZE of the BLOB blob_length:=DBMS_LOB.GETLENGTH(v_blob); -- Open a handle to the location where you are going to write the BLOB to file -- NOTE: The ''wb'' parameter means "write in byte mode" and is only availabe -- in the UTL_FILE package with Oracle 10g or later out_file := UTL_FILE.FOPEN (''INTF_DIR1'', myfilename, ''wb'', chunk_size); -- Write the BLOB to file in chunks WHILE blob_position <= blob_length LOOP IF blob_position + chunk_size - 1 > blob_length THEN chunk_size := blob_length - blob_position + 1; END IF; DBMS_LOB.READ(v_blob, chunk_size, blob_position, v_buffer); UTL_FILE.PUT_RAW(out_file, v_buffer, TRUE); blob_position := blob_position + chunk_size; END LOOP; -- Close the file handle UTL_FILE.FCLOSE (out_file); END;

Este fragmento de código mueve la imagen blob a una carpeta en un directorio. Quiero que esta imagen de blob se genere en una carpeta separada que estará debajo de una carpeta comprimida