Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 17/12/2015 18:28:00
- Mlan2
- Membre
Récupération des codes erreurs et messages d'erreurs
Bonjour,
Je cherche à retourner les codes d'erreurs, ainsi que les messages correspondant dans le cas où ces erreurs se produiraient, afin de les restituer à l'utilisateur de façon explicite.
Sous Oracle j'avais implémenté une procédure qui répondait à ce besoin.
Ci-dessous, le code correspondant :
FUNCTION Repertorie_Erreurs (Buff_Err VARCHAR2) RETURN NUMBER
IS
-- Déclarations
Ret NUMBER; -- Code de retour
Err_Num NUMBER; -- Erreur Oracle
Err_Msg VARCHAR2 (100); -- Message erreur Oracle
Buf_Msg VARCHAR2(1000); -- Buffer de message.
BEGIN
Ret := 0;
Err_Num := SQLCODE;
Err_Msg := SUBSTR(SQLERRM, 1, 100);
...
Ret := 1;
RETURN Ret;
END;
La variable SQLCODE permettait de récupérer le code de l'erreur.
La variable SQLERRM permettait de récupérer le texte du message.
Sous PosgreSQL, je n'ai pas réussi à trouver ces fonctionnalités.
Je pense que cela tourne autour de la fonction RAISE ...
La variable SQLSTATE semblerait recevoir le code erreur.
J'ai tenté de l'affecter à une variable de type varchar, mais une erreur est retournée, indiquant SQLSTATE n'est pas une colonne.
Aussi, j'ai besoin d'un petit éclairage de votre part afin de définir une bonne méthode.
Merci de votre retour.
Hors ligne
#2 17/12/2015 18:47:37
- rjuju
- Administrateur
Re : Récupération des codes erreurs et messages d'erreurs
Bonjour,
Vous trouverez tout ce qu'il faut en utilisant GET STACKED DIAGNOSTICS, voir http://docs.postgresql.fr/9.4/plpgsql-c … ics-values
Julien.
https://rjuju.github.io/
Hors ligne
#3 17/12/2015 18:59:51
- Mlan2
- Membre
Re : Récupération des codes erreurs et messages d'erreurs
Merci du retour.
Cela semble correspondre à ma demande.
Je vais exploiter de ce pas cette piste.
Hors ligne