Bonjour,
Je me permet de venir vous questionner après avoir lu une multitude de site, blog et forum ne m'ayant pas vraiment avancé.
Je vous explique mon problème.
J'aimerais réaliser un trigger sur une table, qui lors d'une insertion, update, delete, me récupère la requête déclanchante du trigger.
Le trigger écris dans une table Log la requête qui la déclenché.
J'ai trouvé comment réaliser cela.
Le vrai problème, celui qui m’amène, est le suivant :
Lorsque je réalise, une requête d'insertion par exemple, depuis SSMS le trigger la reçois et écris dans la table Log.
Mais une fois que j'exécute la requête depuis une application (le fonctionnement final donc), rien ne se passe. Il n'y a pas d'insertion et encore moins de réaction de la part du trigger.
Pour récapituler :
- Exécution de la requête depuis l'application, sans trigger, fonctionne.
- Exécution de la requête depuis SSMS avec trigger, fonctionne.
- Exécution de la requête depuis l'application avec trigger, ne fonctionne pas.
Si le trigger est présent mais disable, cela fonctionne.
J'ai essayé avec un trigger tout con (insérer un "hello" dans une table) le problème est le même.
SSMS 2012
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 USE [BASE] GO /****** Object: Trigger [dbo].[LogMySQL] Script Date: 11/10/2013 11:09:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[LogMySQL] ON [dbo].[MATABLE] AFTER INSERT, UPDATE, DELETE AS BEGIN insert into SQLLog (event_info) values ('Hello') END
Appli asp.net avec service web.
Si quelqu'un à une idée sur ce qui pourrait bloquer la "discutions" je suis preneur.
Merci.
Partager