IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Oracle Discussion :

[10g] Cherche outil pour débugguer procédure stockée


Sujet :

Outils Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut [10g] Cherche outil pour débugguer procédure stockée
    Voici mon problème :
    J'ai une procédure stockée Oracle qui ne me renvoie pas le résultat attendu. Donc, je voudrais faire du pas-à-pas (avec des points d'arrêt conditionnels), et évaluer la valeur des variables.

    - J'ai essayé avec SQL Développeur (version 1.1.2.25), mais au bout de 20 minutes, il est toujours en train de faire semblant d'exécuter ma procédure, et ne répond plus.
    - J'ai téléchargé Toad free, mais je n'ai pas trouvé les outils de débugage. Je suppose qu'il faut la version payante, ce qui est exclu.

    Quelqu'un connaitrait-il un autre outil (gratuit) pour débuguer ma procédure ?

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  2. #2
    Membre expérimenté Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    PLSQL Developer
    Alors c'est pas gratuit, mais on peut télécharger une version de démo complète valable pendant 30j, c'est largement suffisant pour tomber accro et faire des pieds et des mains pour que le père noël nous offre une licence :

    http://www.allroundautomations.com/plsqldev.html

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut


    Je vais voir ça ...
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  4. #4
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Bin, c'est pas intuitif tout ça ...

    Comment on exécute une procédure ?
    Comment on lui donne ses paramètres ?

    (Pour les points d'arrêts conditionnel, je crois avoir trouvé)
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  5. #5
    Membre expérimenté Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    Citation Envoyé par Lung Voir le message
    Bin, c'est pas intuitif tout ça ...

    Comment on exécute une procédure ?
    Comment on lui donne ses paramètres ?

    (Pour les points d'arrêts conditionnel, je crois avoir trouvé)
    Tu ouvres le panneau navigateur, tu recherche ta procédure stockée, et avec le clic droit, tu l'ouvre en édition et tu poses tes points d'arrêts (ne pas oublié de le recompiler pour que cela soit pris en compte)

    Ensuite, tu te positionnes sur le nom de ta procédure et tu fais clic-droit et tu choisis tester, il va te créer une fenêtre de test, tu renseignes les variables qui seront dans la liste en bas, et tu fais F9 (ou bien tu cliques sur le bouton symbolisé par un engrenage surmontée d'une loupe)

    Il faut que tu ais les droits de débugger bien sûr, sinon, cela ne marche pas (c'est un GRANT à faire, si je me rappelle bien)

    Tu peux télécharger la traduction en français, cela le rend plus facile d'accès, mais normalement, si tu codes ou débugges beaucoup, il va vite devenir indispensable

  6. #6
    Membre expérimenté Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    Autre chose aussi, PLSQL developper va ouvrir une session par fenêtre dans son paramétrage par défaut, donc sans commit, tu ne vois pas dans une fenêtre le résultat d'un INSERT ou d'un update fait par une autre

    Quand tu cliques sur nouveau, tu as plusieurs choix possible, les 4 principaux sont :
    • Fenêtre SQL : Cela simule une session SQL*PLUS, le résultat de la requête s'affiche directement en bas de la fenêtre
    • Fenêtre Test : celle qu'on utilise le plus, elle permet de définir des variables (déclarée avec les ":") et ainsi de tester package, procédure ou même simplement une requête avec différentes valeurs d'un filtre.Le résultat se trouve dans l'onglet Sortie DBMS si on fait du DBMS_OUTPUT ou dans l'onglet Sortie SQL, si on teste une requête simple. A noter, qu'un clic droit sur la partie de la fenetre où sont déclaré les variables permet d'accéder à la fonctionnalitées Analyser les variables qui va te créer directement toutes les variables définies dans ton code.
    • Fenêtre Plan d'exécution : porte bien son nom, un raccourci par défaut existe pour trouver le plan d'exécution d'une requête quand on est dans une fenêtre SQL, il s'agit de la touche F5 (la touche F8 étant le raccourci pour exécuter la requête)
    • Fenêtre Programme : à utiliser généralement quand on crée une fonction, un package ou autre à partir de rien.
    Si tu as d'autres questions, n'hésite pas

  7. #7
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Loyd1974 Voir le message
    Ensuite, tu te positionnes sur le nom de ta procédure et tu fais clic-droit et tu choisis tester
    Ah oui. Fallait le deviner ...

    Bon, j'ai fais comme tu m'a dis.
    L'exécution démarre, et là il me dit que la variable de ma condition (du point d'arrêt) n'est pas défini.
    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
       begin
          for Cur in (select HIST_CONTENANT.* from HIST_CONTENANT, TYPE_CONTENANT
                      where HIST_CONTENANT.ID_TYPE_CONTENANT = TYPE_CONTENANT.ID_TYPE_CONTENANT
                      and ID_FAMILLE_CONTENANT = 1) loop
             begin
                -- Recherche du premier mouvement.
                begin
                   select DATE_OPE into DateOperation  <-- Point d'arrêt ICI : condition : Cur.CODE_CONTENANT = 'H0029556700'
                   from (
                      select DATE_OPE, min(INDICE)
                      from HIST_MVT_CONT
                      where CODE_CONTENANT = Cur.CODE_CONTENANT
                      and ROWNUM = 1
                      group by DATE_OPE);
                exception
                   when OTHERS then
                      raise_application_error(-20005, SQLERRM);
                end;
     
    ...
    Je ne comprend pas ce qu'il réclame, sachant que ma procédure fonctionne.
    Je l'ai déjà exécutée plusieurs fois sans problème.


    Citation Envoyé par Loyd1974 Voir le message
    Tu peux télécharger la traduction en français, cela le rend plus facile d'accès, mais normalement, si tu codes ou débugges beaucoup, il va vite devenir indispensable
    C'est sûr que si j'arrive à débuguer comme je veux, je ne pourrai plus m'en passer. Mais, comme c'est payant, il faudra bien ...
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

Discussions similaires

  1. Plusieurs colonnes pour une procédure stockée.
    Par Helau dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/01/2008, 15h25
  2. cherche outils pour site WAP
    Par young077 dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 19/08/2007, 13h55
  3. Aide pour une procédure stockée
    Par shirya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/03/2007, 08h48
  4. Quel choix d'Editeur pour des Procédures Stockées ?
    Par Péchereau dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/02/2007, 08h57
  5. Réponses: 2
    Dernier message: 03/12/2006, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo