2014-05-30 2 views
7

ich von einem Verfahren in eine Datei zu schreiben versuchen:Wie in eine Textdatei aus PL/SQL zu schreiben, PLS Fehlern 00363

out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W'); 

    Utl_File.Put_Line(out_file , 'Hi this is text file!'); 
    Utl_File.FClose(out_file); 

Compilation Fehler für PAKET xxxxxxxx

Error: PLS-00363: âûðàæåíèå 'OUT_FILE' íå ì.á. èñïîëüçîâàíî êàê àäðåñàò íàçíà÷åíèÿ 
Line: 795 
Text: out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W'); 

Error: PL/SQL: Statement ignored 
Line: 795 
Text: out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W'); 

Error: PLS-00363: 'OUT_FILE' íå ì.á. èñïîëüçîâàíî êàê àäðåñàò íàçíà÷åíèÿ 
Line: 797 
Text: Utl_File.FClose(out_file); 

Error: PL/SQL: Statement ignored 
Line: 797 
Text: Utl_File.FClose(out_file); 

So Das ist mein Code und es gibt mir diesen Fehler, was ist falsch?

+0

gefunden Fehler proc aProc ( var in Art outfile in Art ) –

+0

ich machte es in nur lesen schaffen nur –

+0

Dies ist in jeder Sprache nicht Ihr gesamtes Verfahren und einige der Fehlermeldungen nicht. Kannst du es bitte übersetzen? – Ben

Antwort

17

Zuerst müssen Sie ein Verzeichnis-Objekt erstellen, die C zuzugreifen: \ test-Verzeichnis:

CREATE OR REPLACE DIRECTORY CTEST AS 'C:\test'; 
GRANT READ ON DIRECTORY CTEST TO PUBLIC; 

Als nächstes müssen Sie das Verzeichnis-Objekt verwenden, wenn Sie Ihre Datei zu öffnen:

DECLARE 
    out_File UTL_FILE.FILE_TYPE; 
BEGIN 
    out_File := UTL_FILE.FOPEN('CTEST', 'batotest.txt' , 'W'); 

    UTL_FILE.PUT_LINE(out_file , 'Hi this is text file!'); 
    UTL_FILE.FCLOSE(out_file); 
END; 

Teile und genieße.

Verwandte Themen