Bonjour,
Je cherche comment faire un triggers depuis ma base de donnée du logiciel SAGE Gestion commerciale SQL Ligne 100 vers une autre BASE.
Pour ceux qui connaisse pas, ce sont des base SQL SERVEUR 2000.
Je pense que j'ai un problème de droit sur mon trigger, si quelqu'un peut m'éclairer un peu...
J'ai déjà fait plusieurs test pour analyser le problème mais en vain.
Dans mon exemple j'ai une 1er base nommé BIJOU (Base Sage), et une deuxième base ECHANGE (que j'ai créer moi même)
Base : BIJOU - Table : F_DOCLIGNE
Base : ECHANGE - Table : T_ECHANGES
Mon triggers sur la table F_DOCLIGNE de la base BIJOU:
Lors de la modification d'une ligne dans mon logiciel SAGE sur un document, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 --TRIGGER MODIFICATION sur LIGNE CREATE TRIGGER TG_TEST ON [dbo].[F_DOCLIGNE] FOR UPDATE AS INSERT INTO [ECHANGE].dbo.T_ECHANGES (NOM, ORIGINE, DATE_CREATION) VALUES ('COMMANDE', 'SAGE', GetDate() )
Autorisation INSERT Refusée sur l'objet T_ECHANGES, Base de données BASE_ECHANGE, propriétaire dbo.
- Si je change mon trigger :
et que je créer la même table T_ECHANGES directement dans la base BIJOU, lors de la modification dans mon logiciel SAGE, mon triggers fonctionne correctement (ajout d'une ligne dans ma table T_ECHANGE), pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 --TRIGGER MODIFICATION sur LIGNE CREATE TRIGGER TG_TEST ON [dbo].[F_DOCLIGNE] FOR UPDATE AS INSERT INTO T_ECHANGES (NOM, ORIGINE, DATE_CREATION) VALUES ('COMMANDE', 'SAGE', GetDate() )
- Si je remet l'autre triggers
et que j'exécute directement une requête de modification dans l'analyseur de requête de SQL SERVEUR (UPDATE F_DOCLIGNE WHERE ....), cela fonctionne également. Ajout d'une ligne dans T_ECHANGE de la base ECHANGE et pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 --TRIGGER MODIFICATION sur LIGNE CREATE TRIGGER TG_TEST ON [dbo].[F_DOCLIGNE] FOR UPDATE AS INSERT INTO [ECHANGE].dbo.T_ECHANGES (NOM, ORIGINE, DATE_CREATION) VALUES ('COMMANDE', 'SAGE', GetDate() )
Donc, j'ai bien un problème de droit mais seulement dans mon logiciel SAGE Gestion commerciale !!! Quelque chose bloque l'insertion dans une autre BASE.
Surement l'utilisateur utilisé ? Peut-on savoir quel utilisateur SQL est utiliser lors de la modification depuis la gestion commerciale ?
Quelqu'un peut-il m'aider ?
Pour information, je suis entièrement local. Mon serveur SQL ainsi que mon logiciel SAGE Gestion commerciale.
Merci d'avance
Partager