2017-03-01 2 views
0

Ich muss eine Textdatei von Oracle APEX-Anwendung schreiben. (Release 4.2) Ich fand den Code unten, aber ich bekomme immer den Fehler ORA-29280 ungültigen Verzeichnispfad.
Das angegebene Verzeichnis ist ein Verzeichnis, für das ich Schreibzugriff habe. Ich habe eine Datei im Editor erstellt und in diesem Verzeichnis gespeichert.Schreiben Sie eine Textdatei von Oracle APEX-Anwendung

Vielleicht muss ich in der Lage sein, nach dem Ausgabeverzeichnis zu suchen. Hat APEX eine Datei nach Ausgabedateien durchsuchen?

Was können Sie mir sagen? Vielen Dank.

Mein Code

Declare 
    v_input_record varchar2(600); 
    p_dir varchar2(200); 
    p_file varchar2(50); 
    l_output utl_file.file_type; 
    l_amt number default 32000; 

cursor cur_go_thru_AD_INPUT 
    is select COUNTY_INPUT_RECORD 
    from ad_county_input_file 
    order by county_input_file_id_seq; 

begin 
    p_dir := 'C:\Windows\Temp'; 
    p_file := 'SoS-Output.asc'; 
    l_output := utl_file.fopen(p_dir, p_file, 'w', 32767); 

    open cur_go_thru_AD_INPUT; 
    LOOP 
    FETCH cur_go_thru_AD_INPUT 
      INTO v_input_record; 
    EXIT WHEN cur_go_thru_AD_INPUT%NOTFOUND; 

    utl_file.put(l_output, v_input_record); 
    utl_file.fflush(l_output); 

    END LOOP; 

utl_file.new_line(l_output); 
utl_file.fclose(l_output); 

Ende;

+0

vielleicht zunächst versuchen, Verzeichnis erstellen – TheName

Antwort

0

vielleicht zunächst versuchen, Verzeichnis

create or replace directory DIRECTORY_NAME as 'C:\Windows\Temp'; 

zu erstellen und es dann

nennen
utl_file.fopen('DIRECTORY_NAME', p_file, 32767); 
+0

Ich wurde gesagt, dass es kein Verzeichnis auf dem Client-PC sein kann, das ist was ich wollte. – Wayne

+0

utl_file kann nicht auf den Clientcomputer schreiben, nur der Datenbankserver. – TheName

+0

aber es gibt eine Möglichkeit, auf den Client-PC zu schreiben, hier ist eine vollständige Anleitung: http://dba-oracle.com/t_oracle:__write_a_file_to_to_a_client_pc.htm – TheName

Verwandte Themen