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