Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 16/12/2010, 15h50   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Par défaut Invocation de stored procedure

Bonjour tout le monde!

Je tourne autour d'une situation bizarre:
J'ai 2 packages avec chacun 2 procedures.

Dans le premier package, j'invoque une procedure du 2eme package.
Voici ce que je fait en version simplifier.

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
CREATE OR REPLACE package body pkg1
IS
 
procedure my_proc1 IS
...
begin
dbms_output.put_line('calling pkg2');
pkg2.my_proc1;
dbms_output.put_line('end calling');
...
end my_proc1;
 
end pkg1;
 
 
CREATE OR REPLACE package body pkg2
IS
 
procedure my_proc1 IS
..
begin
dbms_output.put_line('calling me');
..
end my_proc1
 
end pkg2;
Je m'attendais à voir:

Code :
1
2
3
'calling pkg2'
'calling me'
'end calling'
Ce qui est bizarre c'est que la seule chose qui soit imprimé à l’écran est 'calling pkg2'.
Donc, apparemment le programme ne rentre pas dans pkg2.my_proc1 et pire encore, il n'imprime même pas l'instruction après l'invocation.

Quand j'utilise la fonction test ed pl/sql developer j'ai l'impression que tout se déroule bien. Pourtant ce n'est pas le cas..

J'aimerais avoir vos idées sur mon problème.
Merci
JLemon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 16h37   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Je pense mais, comme vous ne fournissez que quelques bouts de code je ne peux pas être certain, que l ‘appel de la procédure provoque une exception que vous interceptez et cachez généreusement avec un handler d’exception de type WHEN OTHERS THEN NULL
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 16h58   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Bonjour mnitu

Merci! En effet c'était bien ça! Je viens de mettre l'handler WHEN OTHERS entre comments et ça marche.

Une autre question: qu'est ce qui pourrait être la cause de l'exception?

Merci
JLemon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 17h16   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Si vous n'avez plus d'exception c'était probablement du à la recompilation du package appelé.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 17h20   #5
Invité de passage
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : 1
Points : 1
Ah ok.

J'ai comme même modifier une partie du code. J' étais en train d'invoquer la procédure dans un FOR LOOP alors qu'un simple OPEN FETCH sans loop étais suffisant puisque qu'un seul record est retourné.
Je ne sais pas si c'étais lié.

en tout cas, mnitu merci pour votre aide
JLemon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h49.


 
 
 
 
Partenaires

Hébergement Web