Bonjour tout le monde. J'ai l'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ORA-20052: Invalid File Location
En essayant d'écrire dans un fichier. Mon code est le suivant.

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
30
31
 
PROCEDURE FILEWRITE_TEXT( p_texte IN VARCHAR2, p_filepath IN VARCHAR2, p_fileName IN VARCHAR2) AS
lf_file_id    UTL_FILE.FILE_TYPE;
 
BEGIN 
  dbms_output.put_line(lsFilePath);
  lf_file_id := UTL_FILE.FOPEN(p_filepath, p_fileName, 'w');
  UTL_FILE.PUT_LINE(lf_file_id, p_texte);
  UTL_FILE.FCLOSE (lf_file_id);
  EXCEPTION
  WHEN utl_file.invalid_mode THEN
    RAISE_APPLICATION_ERROR (-20051, 'Invalid Mode Parameter');
  WHEN utl_file.invalid_path THEN
    RAISE_APPLICATION_ERROR (-20052, 'Invalid File Location');
  WHEN utl_file.invalid_filehandle THEN
    RAISE_APPLICATION_ERROR (-20053, 'Invalid Filehandle');
  WHEN utl_file.invalid_operation THEN
    RAISE_APPLICATION_ERROR (-20054, 'Invalid Operation');
  WHEN utl_file.read_error THEN
    RAISE_APPLICATION_ERROR (-20055, 'Read Error');
  WHEN utl_file.write_error THEN
    RAISE_APPLICATION_ERROR (-20056, 'Read Error');   
  WHEN utl_file.internal_error THEN
    RAISE_APPLICATION_ERROR (-20057, 'Internal Error');
  WHEN utl_file.charsetmismatch THEN
    RAISE_APPLICATION_ERROR (-20058, 'Opened With FOPEN_NCHAR But Later I/O Inconsistent');
  WHEN utl_file.invalid_maxlinesize THEN
    RAISE_APPLICATION_ERROR(-20060,'Line Size Exceeds 32K');
  WHEN others THEN
    RAISE_APPLICATION_ERROR (-20099, 'Unknown UTL_FILE Error');	
END FILEWRITE_TEXT;
La procédure stockée, je l'appelle avec les arguments suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
  P_FILEPATH := 'D:\MONREP\';
  P_FILENAME := 'MONFIC.TXT';
Mon répertoire existe. Quant à mon fichier NON.

L'erreur est provoquée par le FOPEN.

Merci d'avance.