Bonjour,

J'ai un problème pour executer le code 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
32
33
34
35
36
 
DECLARE
p_fich UTL_FILE.FILE_TYPE;
buffer varchar2 (1000);
NOMBRE NUMBER;
LIBEL varchar2(50);
DATEMAJ varchar2(15);
BEGIN
 
p_fich:=UTL_FILE.FOPEN('HOMETMP','data.txt','R');
NOMBRE:=1;
 
loop
     begin
             UTL_FILE.GET_LINE(p_fich,buffer);
             NOMBRE:=NOMBRE + 1;
             LIBEL:=SUBSTR(buffer,51,55);
             DATEMAJ:='07/07/2009';
           exception
                     when no_data_found then exit;
           end;
 
           INSERT INTO MATABLE (ID,LIBELLE,DATEMAJ) VALUES (NOMBRE,LIBEL,DATEMAJ);
 
 
 
 
end loop;
 
COMMIT;
 
UTL_FILE.FCLOSE(p_fich);
 
END;
 
/

J'ai effectué des test et je sais que l'erreur proviens de la ligne suivante:

LIBEL:=SUBSTR(buffer,51,55);

J'ai une erreur qui dit :

ORA-06502 erreur numérique ou erreur sur une valeur: tampon de chaîne de caractères trop petit.


Si quelqu'un pourrait m'aider cela serait très sympathique.

Merci d'avance.