J'essaie d'écrire dans 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 PACKAGE 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);
Voici donc mon code et cela me donne cette erreur, qu'est-ce qui ne va pas?
Tout d'abord, vous devez créer un objet répertoire pour accéder au répertoire C:\test:
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;
Partagez et profitez.