2017-07-21 2 views
0

Ist es möglich, Oracle UTL_FILE zu verwenden, um mehrere Dateien gleichzeitig geöffnet zu haben?Kann Oracle UTL_FILE mehrere Dateien gleichzeitig geöffnet haben?

Momentan kann ich das nicht selbst testen, da ich keine Berechtigungen habe und mir nicht erlauben kann, Dateien mit UTL_FILE zu öffnen und zu schreiben.

+2

Ja, jede Dateioperation verwendet einen "Handle", der mit der FOPEN-Funktion erstellt wird. – OldProgrammer

Antwort

1

Ja, es ist möglich. Jeder Aufruf an utl_file.fopen() und utl_file.fopen_nchar() gibt einen anderen Dateideskriptorsatz zurück. Speichern Sie jedes Ergebnis in einer anderen PL/SQL-Variablen und Sie sind sicher.

declare 
    l_file_1    utl_file.file_type; 
    l_file_2    utl_file.file_type; 
begin 
    l_file_1 := utl_file.fopen(
     location => 'MY_INPUT_DIRECTORY', 
     filename => 'my_input_file.txt', 
     open_mode => 'rb' 
    ); 
    l_file_2 := utl_file.fopen(
     location => 'MY_OUTPUT_DIRECTORY', 
     filename => 'my_output_file.txt', 
     open_mode => 'wb' 
    ); 
    /* 
    your multi-file handling logic comes here... 
    */ 
    utl_file.fclose_all(); 
exception 
    when others then 
     utl_file.fclose_all(); 
     raise; 
end; 
/
Verwandte Themen