vlaad
Messages postés79Date d'inscriptionmardi 29 juin 2004StatutMembreDernière intervention18 décembre 2006
-
15 déc. 2006 à 10:34
vlaad
Messages postés79Date d'inscriptionmardi 29 juin 2004StatutMembreDernière intervention18 décembre 2006
-
18 déc. 2006 à 09:08
Bonjour a tous,
J'utilise SQL SERVER 2000, sous WINDOWS SERVER 2003 et je rencontre un problème intéressant:
Je souhaite afficher un message d'erreur personnalisé dans SQL SERVER 2000 lors d'une requete UPDATE sur une table.
Pour faire cela j'ai donc utilisé un TRIGGER sur la table qui ressemble à ça:
(c'est un code d'exemple, la base de données est la base "pubs")
CREATE TRIGGER NomTRIGGER
ON TITLES
FOR UPDATE
AS
RAISERROR ('MessageDErreur',16,1);
Cela marche très bien. Sous l'analyseur de requetes, j'obtiens bien un message d'erreur mais, et c'est là le problème, dans Entreprise Manager, j'obtiens une boite de dialogue comprenant mon texte, mais aussi du texte que je n'ai pas demandé (texte qui, je pense, correspond à l'intervalle de sévérité selectionné dans RAISERROR...) .
J'aurais donc voulu savoir si il était possible d'obtenir une boite de dialogue ne comprenant que mon message d'erreur.
Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
vlaad
Messages postés79Date d'inscriptionmardi 29 juin 2004StatutMembreDernière intervention18 décembre 20063 18 déc. 2006 à 09:08
Merci pour ta réponse,
Pour enlever la première ligne, " Msg 50000, Level 16, State 1, Line 1", il suffit juste de diminuer la sévérité de l'erreur en dessous de 16.
Il ne faut pas utiliser le print car cela ne remonte pas une erreur, c'est juste un affichage...
Le truc c'est que l'erreur déclenchée par le RAISERROR va me permettre d'utiliser mes alertes pour effectuer des actions via des TRIGGER...
De plus elle remontera une erreur personnalisé dans les applications qui en dépendent.
Le truc c'est que je voulais une boite de dialogue dans Entreprise Manager, pour avertir la personne qui manipulais les données que ses manipulations pouvaient influer sur l'intégrité des données en cas d'erreur, et ensuite, annuler ses modifications, pour garder l'intégrité, car c'est essentiel pour mon application.
Je bloque juste sur la boite de dialogue donc je pense que je vais annuler la boite de dialogue dans Entreprise Manager et garder le message d'erreur dans l'analyseur de requetes via la commande PRINT ou RAISERROR.
L'utilisateur, dans l'entreprise Manager, ne saura pas que sa modification aura été annulé, c'est tout...
Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...