Je cherche comment faire un triggers sur la table F_DOCLIGNE (par exemple) afin d'écrire dans une table d'une autre base.
Par exemple, j'ai la base : BIJOU (Sage), et la base BASE_ECHANGE (que j'ai créer moi même)
Base : BIJOU - Table : F_DOCLIGNE
Base : BASE_ECHANGE - Table : T_ECHANGES
Mon triggers sur la table F_DOCLIGNE :
- Code: Tout sélectionner
-- TRIGGER MODIFICATION sur LIGNE
CREATE TRIGGER TG_TEST ON [dbo].[F_DOCLIGNE]
FOR UPDATE
AS
INSERT INTO [BASE_ECHANGE].dbo.T_ECHANGES (NOM, ORIGINE, DATE_CREATION) VALUES ('COMMANDE', 'SAGE', GetDate() )
Lors de l'ajout d'une ligne dans SAGE sur un document, j'ai l'erreur suivante :
Autorisation INSERT Refusée sur l'objet T_ECHANGES, Base de données BASE_ECHANGE, propriétaire dbo.
Si je créer la même table T_ECHANGES direcement dans la base BIJOU mon triggers fonctionne.
J'ai également tester de créer une table TEST dans ma base BIJOU avec le même trigger vers ma base BASE_ECHANGES et lorsque je créer une ligne dans TEST, cela me créer bien la ligne dans ma table de la BASE_ECHANGE.
Autre test, si j'exécute directement ma requête, dans l'analyseur de requête cela fonctionne.
- Code: Tout sélectionner
UPDATE F_DOCLIGNE SET DL_Qte = 2 WHERE DO_Piece = '5' AND DL_Ligne = 10000 AND DO_Domaine = 0
Mise Ă jour dans le document SAGE (logique) + Insertion dans ma table de mon autre BASE.
Donc, le problème viens bien de SAGE Gestion commerciale !!! Quelque chose bloque l'insertion dans une autre table.
Quelqu'un peut-il m'aider ?
Merci d'avance


