Bonjour à tous,
Je souhaite créer un trigger qui après l'insertion d'une ligne dans une table, me lance un exécutable.
trigger:
1 2 3 4 5 6 7 8 9
| CREATE TRIGGER [dbo].[trig_after_ins_atm]
ON [dbo].[maTable]
AFTER INSERT
AS
DECLARE @cmd VARCHAR(500)
SELECT @cmd = 'd:\MonAppli.exe'
exec master..xp_cmdshell @cmd
GO |
Cet exe a pour but de venir récupérer cette ligne et faire des mises à jour dans une autre base de donnée.
Le problème est que lorsque je fais un insert dans cette table, j'obtiens le message suivant:
Unhandled Exception: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Lorsque je lance la commande à la main, ca fonctionne bien.
Quelqu'un peut'il me dire pourquoi cela ne fonctionne pas? s'il y a un moyen de corriger cela?
PS: pour info, il m'est impossible d'utiliser les linked server. La base de donnée en face n'acceptant pas les transactions distribuées !!!
Base de donnée SQL SERVER 2008
Partager