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

PL/SQL Oracle Discussion :

raise_application_error et table utilisateur


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut raise_application_error et table utilisateur
    Bonjour,

    Je débute sur oracle.

    Dans le schéma utilisateur , j'ai une table messages qui contient les messages d'erreurs de type ORA-20501.

    Dans les procédures PL/SQL utilisées par l'application, les erreurs sont affichés grâce à l'instruction raise_application_error du style raise_application_error(-20501,'%s' || toto)

    j'aimerais savoir comment l'instruction raise_application_error fait le lien avec la table messages gérées par l'application ?

    ( Autrement dit comment raise_application_error sait qu'il faut aller chercher pour tel ou tel numéro la table messages et non pas la table de reference des messages types d'oracle )

    j'espère avoir été clair et je vous remercie pour vos explications

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    A vous de faire un Select dans votre table pour donner la traduction correspondante à la fonction Raise_Application_Error().

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    je ne comprends pas la reponse....

    raise_application_error est une fonction pl/sql par defaut , non ?
    ou elle peut être réécrite mais alors dans quelle table oracle chercher ?

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Raise_Application_Error() ne va rien chercher nulle part. Vous lui donnez en argument un numéro d'erreur et un message. Si vos messages sont stockés dans une table, vous devez donc faire un Select dans cette table et donner le résultat comme 2ème argument.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    arf je me suis pas assez bien expliqué alors.

    en fait la commande que j'ai dans les procédures pl/sql utilisées est du style :

    raise_application_error(-20501,'%s' || toto)

    directement, il n'indique nulle part la table messages !!

    pourtant j'ai ajouté une ligne dans la table message avec un numero du style ORA-20503

    je n'ai fait qu'ajouter dans la procédure PL/SQL la ligne
    raise_application_error(-20503,'%s' || toto)
    et j'ai vu apparaitre le message que j'avais ajouter dans ma table messages dans l'application.

    je ne comprends pas comment justement il fait la liaison entre la table messages et la commande raise_application_error !!

    la structure de la table messages est
    MSGID VARCHAR2(40 BYTE) NOT NULL,
    MSGTITLE VARCHAR2(255 BYTE) NOT NULL,
    MSGTEXT VARCHAR2(255 BYTE) NOT NULL,
    MSGICON VARCHAR2(12 BYTE) NOT NULL,
    MSGBUTTON VARCHAR2(17 BYTE) NOT NULL,
    MSGDEFAULTBUTTON INTEGER NOT NULL,
    MSGSEVERITY INTEGER NOT NULL,
    MSGPRINT CHAR(1 BYTE) NOT NULL,
    MSGUSERINPUT CHAR(1 BYTE) NOT NULL

    je n'ai pas trouvé de script réécrivant la fonction/procedure raise_application_error mais bon il a peut être disparu.Si eventuellement on peut le faire.

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est juste que quelqu'un a créé une procédure nommée RAISE_APPLICATION_ERROR , ou un synonyme vers une autre procédure.

Discussions similaires

  1. Requetes Impossible sur table utilisateur
    Par kfmystik dans le forum Développement
    Réponses: 8
    Dernier message: 21/07/2008, 17h24
  2. [SQL2K] Tables utilisateurs et DtProperties
    Par loggti dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/06/2008, 16h38
  3. securité tables utilisateurs
    Par leviet94 dans le forum Sécurité
    Réponses: 5
    Dernier message: 27/08/2007, 10h23
  4. Tables utilisateurs et Tables système
    Par widom dans le forum Administration
    Réponses: 10
    Dernier message: 11/06/2007, 11h34
  5. Sécurité Access, utiliser sa propre table utilisateur
    Par flash2590 dans le forum Sécurité
    Réponses: 2
    Dernier message: 12/12/2005, 16h47

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