Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2011, 12h19   #1
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 110
Points : 26
Points : 26
Par défaut Erreur ORA-06502 appel de fonction

bonjour, dans l'appel d'une fonction j'ai cette erreur :
Code :
ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres
.

la fonction est la suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE OR REPLACE FUNCTION  "GET_COMMUNE" (id IN varchar2, url IN varchar2) RETURN varchar2 AS soap_request varchar2(30000); 
 
soap_respond varchar2(30000); 
http_req utl_http.req; 
http_resp utl_http.resp; 
 
resp XMLType; 
 
begin 
 
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://wilaya/"> 
......
.....
.....'
 
resp:= resp.extract('//ns2:getCommuneFindByIdResponse/return' , 'xmlns:ns2="http://wilaya/"' );
 
RETURN resp.getStringVal();
 end;
l'appel ce fait comme suite :
Code :
1
2
3
4
5
6
7
declare
f VARCHAR2 (30000);
begin
 
f:= get_commune('27000','127.0.0.1:7101');
DBMS_OUTPUT.PUT_LINE ('f:'||f);
end;
merci
nessing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h25   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Il faut débugguer :
Mettre une variable dans ta fonction que tu vas affecter à chaque phase
Mettre une exception pour sortir en erreur avec la phase qui a planté

exemple
Code :
1
2
3
4
5
6
7
8
9
10
11
CREATE FUNCTION ... AS
v_err VARCHAR2(200);
BEGIN
v_err := 'Debut';
soap_request := ...
v_err := 'Debut Extract';
resp:= resp.extract..
EXCEPTION WHEN OTHERS
THEN
 RAISE_Application_Error(-20001, 'err:'|| v_err);
END;
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h28.


 
 
 
 
Partenaires

Hébergement Web