ORA-06512 ORA-06510 UTL_FILE WRITE ERROR
Oracle : 8.1.7
OS : Tous ?
Symptomes :
Lors d’une écriture / lecture de fichier :
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at “SYS.UTL_FILE”, line 103
ORA-06512: at “SYS.UTL_FILE”, line 306
ORA-06512: at line 121
Solutions :
1 - Vous n’avez pas le droit , ne pouvez pas écrire dans le fichier.
Il faut vérifier que l’utilisateur Oracle, ou le votre a bien les droits pour écrire le fichier, et que le répertoire existe.
Sous unix, si vous etes connecté en BEQ ( du genre sqlplus <nomutilisateur> ), c’est avec votre utilisateur qu’il faut faire le test. Connecté en SQL/NET ( sqlplus <nomuser>@<labase> ) il faut vérifier que l’utilisateur oracle a le droit d’écrire.
2 - Ligne trop longue !
Par défaut le FOPEN vous autorise 1024 caractères, donc 1023 en comptant le retour chariot.
Pour modifier cela, il faut utiliser “l’autre” FOPEN :
UTL_FILE.FOPEN (
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER)
RETURN file_type;
Vala !
Post a comment