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

MS SQL Server Discussion :

[SQL server 2005 express] liste des erreurs SQL serveur 2005


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 113
    Points : 65
    Points
    65
    Par défaut [SQL server 2005 express] liste des erreurs SQL serveur 2005
    Bonjour,

    Je développe actuellement une application J2EE dans le cadre de mon stage de licence pro (une CVThèque).

    J'utilise tomcat + Sql server 2005 express édition.

    Je pense utiliser des procédures stockées pour les appels à ma base de donnée, et donc utiliser des transactions (commit rollback) qui pourront dans certains cas lever des exceptions.

    Seulement j'aimerais personnaliser mes exceptions: exemple
    Si je fait une délétion sur ma table utilisateur et qu'une autre table possède l'id utilisateur en clé étrangère par ex (delete cascade désactivé bien entendu), alors sql server va me lever l'exception correspondante, que je vais intercepter et personnaliser.

    J'avais fait ce genre de chose en TP avec oracle:

    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
    21
    22
    -- Creer un Adherent --
    -----------------------
    PROCEDURE creer_un_adherent(num_adh number, nom_adh varchar2, prenom_adh varchar2, rue_adh varchar2, addr_adh varchar2, cp_adh varchar2, ville_adh varchar2) IS
    BEGIN
    set transaction read write;
    INSERT INTO ADHERENT_ADH VALUES(num_adh, nom_adh, prenom_adh, rue_adh, addr_adh, cp_adh, ville_adh);
    COMMIT;
    exception
    when others then
    if sqlcode = -00001 then /* viol des contraintes uniques */
    rollback;
    raise_application_error(-20002, 'L''adhérent '||num_adh||' existe déjà');
    elsif sqlcode = -00060 then /* problème d'interblocage */
    rollback;
    raise_application_error(-20099, 'Opération impossible pour cause d''interblocage');
    else /* erreur inattendue */
    rollback;
    message := 'sqlcode :'||sqlcode||' '||substr(sqlerrm,1,100);
    raise_application_error(-20100, 'Erreur inattendue : '||message);
    end if;
    END;
    Déjà, j'aimerais savoir si vous trouvez que cette méthode est bonne (procédure stockée, personnaliser les exceptions ...)

    Mais mon problème est que je ne connais pas les codes retournés par SQL serveur (comme pour oracle 00001 = viol contrainte unique etc.)

    Connaissez vous un site qui récapitule les codes erreurs SQL serveur 2005?

    Merci beaucoup

  2. #2
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    un autre sujet qui ressemble au tiens http://www.developpez.net/forums/sho...d.php?t=139374

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 865
    Points : 53 018
    Points
    53 018
    Billets dans le blog
    6
    Par défaut
    les messages d'erreurs sont situés dans la tables sysmessages de la base master en anglais et en langue localisée.

    Cette table est accessible par la vue sys.sysmessages dans MS SQL Server 2005.

    Pour personnaliser, utiliser un bloc Try / Catch avec XACT_ABORT à ON

    A +

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/06/2009, 11h22
  2. Réponses: 13
    Dernier message: 29/01/2008, 15h28
  3. [SQL Server Management Express] Sauvegarde des données
    Par basnifo dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/06/2006, 09h49
  4. Liste des seveurs SQL SERVER sur le réseaux
    Par Amri_Daly dans le forum Windows
    Réponses: 1
    Dernier message: 18/11/2005, 11h21
  5. [C#] [SQL Server] Récupérer la liste des bases d'un serveur.
    Par exe dans le forum Accès aux données
    Réponses: 2
    Dernier message: 05/08/2004, 17h40

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