Page 1 sur 1
RDP debugger une procédure stockée
Posté : mar. 02 avr. 2013, 14:58:05
par BrigitteG
Bonjour,
J'aimerai savoir s'il est possible de debugger une procédure stockée à partir de RDP ?
Si oui, comment ?
Merci d'avance pour votre réponse
debug
Posté : mar. 02 avr. 2013, 16:30:07
par cmasse
Oui, bien sûr.
il faut sous RDI/RDP faire un clic droit sur le pgm -> deboggage(point d'entrée de service) -> définir un point d'entrée de service.
un point d'entrée de service est un couple un user/un pgm(si ce pgm est lancé par cet utilisateur, JE debug)
il faut donc modifier le point d'entrée de service de façon à indiquer le profil qui indirectement lance le pgm, puis ... lancer la procédure.
RDP procédure stockée
Posté : mer. 03 avr. 2013, 08:55:35
par BrigitteG
Merci pour votre aide,
1er cas : la procédure stockée a été créée à partir d'opération navigator (exécution d'un script : create procédure...).
Je trouve bien l'objet et en faisant deboggage(point d'entrée de service).
j'ai un message qui me dit que la procédure stockée ne contient pas de données de débogage.
Ce qui est logique puisque ce n'est pas un programme et donc pas compilé.
2ème cas : la procédure stockée a été créée dans un fichier source QSQLSRC. je fais "Lancer des instructions SQL (RUNSQLSTM)" ce qui ne correspond pas non plus à une compile.
Dans ce cas j'ai le message qui me dit "programme introuvable".
Je dois rater quelque chose au niveau des procédures stockées pour pouvoir les déboguer, mais quoi ?
procédure cataloguée et pgm
Posté : mer. 03 avr. 2013, 10:44:57
par cmasse
Une procédure cataloguée correspond toujours à un exécutable sur IBM i.
- - Soit elle est externe, et vous faites référence à un exécutable déjà compilé
- Soit elle est SQL et une compilation a lieu à la volée (d'ailleurs regardez dans QTEMP il y a des fichiers sources temporaires contenant du C)
Maintenant vous avez le choix du type :
PROGRAM TYPE MAIN (défaut) = création d'un programme
PROGRAM TYPE SUB (nouveauté) = création d'un programme de service
Enfin, si la procédure est SQL, comme c'est SQL qui compile,vous pouvez indiquer :
- SET OPTION DBGVIEW = *SOURCE, et vous pourrez utiliser le debuger standard (STRDBG ou RDP)
ALLOW DEBUG MODE, et vous pourrez debuger avec le debuger SQL accessible depuis le gestionnaire de script de system i navigator
Voyez le détail du CREATE PROCEDURE
http://pic.dhe.ibm.com/infocenter/iseri ... crtpsf.htm