Comment écrire dans un fichier texte à partir de Pl/ SQL, Erreur PLS 00363

j'essaie d'écrire à un fichier à partir d'une procédure:

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);

erreurs de Compilation pour le paquet 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);

voilà mon code et il me donne cette erreur, quel est le problème?

9
demandé sur Bato-Bair Tsyrenov 2014-05-30 13:07:52

1 réponses

tout d'abord, vous devez créer un objet de répertoire pour accéder au C:\test répertoire:

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

Ensuite, vous devez utiliser cet objet de répertoire lors de l'ouverture de votre fichier:

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;

Partager et d'en profiter.

21
répondu Bob Jarvis 2015-10-14 10:52:28