Bonjour,
J'ai un serveur et de 0 à N serveurs liés ; je crée un TRIGGER sur mon serveur principal :
lorsque je fait un SIMPLE "select" sur mon serveur lié (PCBE) cela marche tres bien ! , mais dès lors que je demande de faire un "INSERT" je me trouve avec le message d erreur suivant :
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 ALTER TRIGGER [dbo].[Trigger_T_BADGE] ON [dbo].[T_BADGE] AFTER INSERT AS DECLARE @SQL Nvarchar(4000) BEGIN SET @SQL = N'INSERT INTO PCBE.GDA.dbo.T_badge values (170,1001,''2014/02/01'',''2013/02/01'',''2013/02/02'',1,2,3,4,5)' --SET @SQL = N'SELECT * from PCBE.GDA.dbo.T_BADGE' SET XACT_ABORT ON EXEC sp_executeSQL @SQL END
J'ai bien activé MSDTC sur les deux postes (un tourne sous Windows XP SP3 et l'autre sous Windows Server 2008 R2).Le fournisseur OLE DB "SQLNCLI10" du serveur lié "PCBE" a retourné le message "Aucune transaction n'est active.".
Msg*7391, Niveau*16, État*2, Ligne*1
L'opération n'a pas pu être effectuée, car le fournisseur OLE DB "SQLNCLI10" du serveur lié "PCBE" n'a pas réussi à démarrer une transaction distribuée.
PS : Je précise que si je lance ma requete "seule" sans passer par le trigger elle fonctionne très bien.
Si quelqu'un a une solution je suis preneur![]()
Merci d'avance.
Partager