Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2007, 11h37   #1
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 68
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 68
Points : 26
Points : 26
Par défaut [ASE12][Erreur] une ptite pile d'erreur java-like?

bonjour,
je travaille sur une grosse base, avec pas mal de procs stocs.
Chacune de ces ps appellent d'autres ps, faisant des insert/update/delete sur d'autres tables bien fournies en triggers.

En conséquence, quand j'écris une nouvelle ps en réutilisant d'autres ps, je peux avoir une chaîne d'erreur dont je ne maîtrise pas forcément les tenants et les aboutissants.
Si j'écris une ps1 qui appelle une ps2 , appelant une ps3 qui fait un insert dans une table X déclenchant une erreur dans le trigger TI_X
avec la variable @Error et le raiseError au mieux je vois le code erreur et le nom du trigger qui a lancé l'erreur.
Aussi je voudrais savoir s'il existe un système permettant de faire une pile d'erreur comme en java, pour voir la chaîne de commande qui a abouti à l'erreur.

merci pour vos réponses.
blaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 17h51   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Créer une table (ou mieux, des tables) de logs que vous renseignez au fur et à mesure de vos traitements !

Attention aux goulets sur ce type de table !
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 19h12   #3
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 68
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 68
Points : 26
Points : 26
effectivement j'y ai songé.
Chauqe ps insèrerait dans une table de log son petit nom et la date d'appel ce qui pourrait permettre une certaine traçabilité, mais
dans la mesure ou ces ps imbriquées sont la plupart du temps appelées dans une transaction, et que les triggers peuvent rollbacker, si une erreur intervient dans un trigger , ma table de log sera aussi rollbackée. donc je n'en saurais pas plus.
blaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 20h56   #4
Membre Expert
 
Inscription : juin 2007
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 056
Points : 1 078
Points : 1 078
dans un environnement de test, vous pouvez peut-être essayer de mettre dans le trigger :

Code :
dbcc printolog('mon erreur')
Je ne l'ai pas testé ; attention aux perfs en cas de déclenchement en masse, car le fichier errorlog subira de nombreuses écritures en cas de pb.

ce stratagème n'est à utiliser que dans un environnement de test.
__________________
Emmanuel T.
kagemaru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 14h37   #5
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 68
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 68
Points : 26
Points : 26
merci mais il faudrait pouvoir le faire en environnement de prod.
et je crois que si je demande à mon DBA une commande DBCC, il m'arrachera un bras pour me frapper avec
blaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 16h53   #6
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Non, ce n'est pas une bonne idée de balancer des dbcc printtolog pour ce type de fonctionnalité : j'en reviens plutôt à la table de journalisation qui sera plus efficiente...
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h13.


 
 
 
 
Partenaires

Hébergement Web