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 :
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.
Jusque là tout va bien.
Je lance ensuite mon block PL/SQL pour créer mon fichier et là c'est le drame:
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.
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.

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