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