|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2002 Messages : 68 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() |
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 Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2002 Messages : 68 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 056 ![]() |
dans un environnement de test, vous pouvez peut-être essayer de mettre dans le trigger :
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. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2002 Messages : 68 ![]() |
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
|
|
|
00
|
|
|
#6 |
![]() ![]() |
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 Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com