Triggers Insert vers une autre BASE

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Triggers Insert vers une autre BASE

de silvia » Lun 27 Avr 2009 15:12

Bonjour,

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
Posteur actif
Posteur actif
 
Messages: 35
Inscription: Jeu 26 Juin 2008 17:16
Localisation: RODEZ

Re: Triggers Insert vers une autre BASE

de Le_Maraudeur » Mer 29 Avr 2009 13:10

Je crois que les triggers interbases utilisent le login Guest. (en théorie et si je ne dis pas de bêtise)

Il faut donc que ce login ait les droits nécessaires sur l'autre base.

Se pose alors le problème de la sécurité au niveau de SQL Server...

Tenez nous informé de vos tests s'ils sont concluants.
Super Contributeur
Super Contributeur
 
Messages: 129
Inscription: Jeu 12 Juil 2007 10:39

Re: Triggers Insert vers une autre BASE

de Dimitrak » Dim 6 Jan 2013 13:46

Bonjour,

j'ai le même problème. J'ai deux bases en i7 7.10, ayant la même structure. Lorsqu'un article est crée dans la base1, la mise à jour d'une info libre à 'OUI' doit déclencher la création de cet article dans la base2. J'ai fait un trigger dans F_ARTICLE de la base1 mais lorsque dans la gescom sur un nouvel article je met l'info libre à 'OUI' j'ai le message suivant :

L'entité de sécurité de serveur "DOMAINE\Administrateur" ne peut accéder à la base de données "base2" dans le contexte de sécurité actuel.

Si je fais le même trigger dans une table crée _F_ARTICLE_TEMP cela fonctionne sauf que j'ai deux lignes identiques.

Avez-vous une idée ?

PS : Je ne maîtrise pas les objets métiers.
Posteur habitué
Posteur habitué
 
Messages: 32
Inscription: Mar 29 Sep 2009 16:01

Re: Triggers Insert vers une autre BASE

de guillaumeD » Mer 9 Jan 2013 11:57

Bonjour,

Il faut utiliser WITH EXECUTE AS pour définir le contexte dans le quel le trigger va s’exécuter.

Guillaume
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: Mer 17 Mar 2010 10:25

Re: Triggers Insert vers une autre BASE

de nizarbraham » Jeu 21 Fév 2013 11:21

Le_Maraudeur a écrit:Je crois que les triggers interbases utilisent le login Guest. (en théorie et si je ne dis pas de bêtise)

Il faut donc que ce login ait les droits nécessaires sur l'autre base.

Se pose alors le problème de la sécurité au niveau de SQL Server...

Tenez nous informé de vos tests s'ils sont concluants.



Evidement, Il fallait créer un compte utilisateur "guest" dans les deux bases
Avatar de l’utilisateur
Posteur néophyte
Posteur néophyte
 
Messages: 18
Inscription: Mer 28 Oct 2009 19:50


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité