Oracle 10g: Ecrire dans un fichier
Bonjour tout le monde. J'ai l'erreur:
Code:
1 2
|
ORA-20052: Invalid File Location |
En essayant d'écrire dans un fichier. Mon code est le suivant.
Code:
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:
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.