[Oracle] ORA-06502 erreur de conversion [Résolu/Fermé]

Signaler
Messages postés
5693
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
27 octobre 2019
-
Messages postés
148
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 juillet 2012
-
Bonjour,

Je travaille sur une base Oracle 11g. J'ai des packages qui fonctionnent tout ça... Néanmoins, j'ai une erreur random qui apparaît o__O Pour déboguer, j'appelle directement la procédure qui fait souci comme ceci :
set serveroutput on
execute pkg.update_obj(115);


Avec update_obj défini dans comme ceci :
procedure update_obj(
  in_var number;
) is
begin
  dbms_output.put_line('entree de la methode');
end;


La première fois que je fais PLAY, j'ai ceci comme erreur :
Erreur commençant à la ligne 2 de la commande :
execute pkg.update_obj(115);
Rapport d'erreur :
ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres
ORA-06512: à "pkg", ligne 41
ORA-06512: à ligne 1
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    
*Action:


Sans rien toucher, je refais PLAY, j'ai ceci (comme les fois suivantes ou je refais PLAY) :
anonymous block completed


Je fais un espace dans mon pkg, j'enregistre et ça remommence : 1 erreur puis aucune erreur.

Je ne sais plus quoi tenter pour tenter de déboguer :$
Merci beaucoup à ceux qui pourraient me donner des idées !


2 réponses

Messages postés
148
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 juillet 2012
44
Hello,

voici une idée.
Ton erreur n'est pas une erreur random je pense.

ça plante à la première exécution et ensuite ça fonctionne, donc je
penserais plutôt à une variable non initialisée au premier lancement qui le devient ensuite :)

une variable non initialisée prend la "valeur" NULL

DROE
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56980 internautes nous ont dit merci ce mois-ci

Messages postés
5693
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
27 octobre 2019
959
Merci DROE, mais j'ai enfin trouvé :$

Il se trouvait que l'erreur donnée venait... du header et non du body ! u__u Le problème venait d'un tableau de valeur que j'avais créé. Je l'avais initialisé en number et j'y avais mis des String (donc facilement corrigeable).

Il ne faisait plus d'erreur de lancement par la suite parce qu'il avait déjà initialisé la variable (avec des erreurs) et donc il n'avait plus besoin de le faire.

M'enfin bon...
Messages postés
148
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 juillet 2012
44
super !!