Bonjour à tous,
Je sèche depuis un moment sur un problème particulier en pl/sql. Je souhaite ouvrir un fichier en (lecture/écriture). J'ai cherché sur le web et j'ai trouvé le paquetage UTL_FILE.
(http://sheikyerbouti.developpez.com/...e=Chap8#L8.2.5)
J'ai créé un DIRECTORY et ai attribué les droits :
Jusque là tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SQL> CREATE OR REPLACE DIRECTORY MONREP AS 'E:/SQL/in' ; Repertoire créé. SQL> GRANT READ, WRITE ON DIRECTORY MONREP TO PUBLIC ; Autorisation de privilèges (GRANT) acceptée.
Je lance ensuite mon block PL/SQL pour créer mon fichier et là c'est le drame:
Mon dossier 'E:/SQL/in' existe bel et bien. Mais oracle n'arrive visiblementpas à le trouver. J'ai essayé de modifier le chemin, mais sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 SQL> DECLARE 2 f _file_id UTL_FILE.FILE_TYPE; 3 v_file_location VARCHAR2(256) := '/in'; 4 v_line VARCHAR2(4000); 5 BEGIN 6 7 dbms_output.put_line(v_file_location); 8 f_file_id := UTL_FILE.FOPEN(v_file_location,'numero1.txt','a'); 9 --UTL_FILE.PUT_LINE(f_file_id,'abcdefghijklmnopqrstuvwxyz'); 10 --UTL_FILE.FCLOSE (f_file_id); 11 12 13 14 --f_file_id := UTL_FILE.FOPEN(v_file_location,'numero.txt','r'); 15 --UTL_FILE.GET_LINE(f_file_id,v_line); 16 --DBMS_OUTPUT.PUT_LINE(v_line); 17 --UTL_FILE.FCLOSE (f_file_id); 18 19 EXCEPTION 20 WHEN OTHERS 21 THEN 22 dbms_output.put_line(SQLERRM); 23 UTL_FILE.FCLOSE_ALL; 24 END; 25 / /in ORA-29280: chemin de répertoire non valide Procédure PL/SQL terminée avec succès.
J'ai lu quelque part qu'il fallait rajouter une ligne dans le fichier ora.init: utl_file_dir = '<Chemin/>'
Je l'ai donc cherché pour le modifier, mais je ne l'ai pas trouvé...
J'ai un raccourci qui se nomme init.ora, mais il pointe vers Le fichier : init.ora.44200618538 En déspoire de cause, j'ai modifié ce fichier, mais rien n'y fait.
Je travaille sur oracle 10G et Windows Xp pro 2002.
Merci beaucoup de votre aide.
Stos
Partager