Tag Archives: utl.file

Intercomunicació Linux – Oracle (I)

Hi ha diverses maneres de intercomunicar el pslql amb el bash.

Llegir i escriure un txt a linux desde PLSQL.

Es pot utilitzar el paquet utl.file per llegir i escriure arxius a linux.

declare
fArchivo UTL_FILE.file_type;
pLinea varchar2(1000);

begin

— Escriure i crear
fArchivo := Utl_File.fopen(‘DIR_ORACLE’, ‘test.txt’, ‘w’, 32767);
pLinea:=’Es un test!! ‘||to_char(sysdate,’HH24:MI:SS’);
Utl_File.put_line(fArchivo,pLinea);
Utl_File.fclose(fArchivo);

— Llegir
pLinea:=null;
fArchivo := Utl_File.fopen(‘DIR_ORACLE’, ‘test.txt’, ‘r’, 32767);
Utl_File.get_line(fArchivo,pLinea);
Utl_File.fclose(fArchivo);

— Elimino arxiu
Utl_File.fremove(‘DIR_ORACLE’,’test.txt’);

dbms_output.put_line(pLinea);
end;

———–

Es un test!! 10/04/17
Es un test!! 09:21:16
Es un test!! 09:21:46

——–

Per fer això, cal tindre permisos d’escriptura i creació d’arxius al directori de Linux.
També cal haver definit un DIRECTORY a Oracle amb permisos d’escriptura i lectura.

select * from all_directories;

OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS         DIR_ORACLE             /data/intercanvi/dir_oracle