bonjour
[SQL2005]
je voudrais ajouter un serveur lié dans un trigger
or le trigger est une transaction et sp_addlinkedserver refuse d'être executé dans une transaction (message en titre)
quelqu'un aurait une solution ?
merci
Version imprimable
bonjour
[SQL2005]
je voudrais ajouter un serveur lié dans un trigger
or le trigger est une transaction et sp_addlinkedserver refuse d'être executé dans une transaction (message en titre)
quelqu'un aurait une solution ?
merci
bonjour,
Pourquoi ne pas le faire directement dans la procédure stockée appelante ?
Vous pouvez aussi écrire une procédure stockée dédiée à l'ajout d'un serveur lié, et l'appeler dans vos procédures stockées qui mettent à jour la table à laquelle est attaché votre trigger ;)
@++ ;)
ce qui est pratique dans le trigger c'est que ca fonctionne de tous les endroits ou le remplissage de la table peut se faire
sans rajouter de code à plusieurs endroits ... plus simple à maintenir ...
Vous pouvez commencer par commiter dans le trigger.
Cela dit ce genre de chose est à ne jamais faire dans un trigger, à moins que vous ne vouliez pourrir les performances de votre système.
Par essence le code d'un trigger doit :
1) être le plus léger possible
2) ne toucher qu'aux données de la base et donc à rien d'extérieur (pas de base externe, ni fichier, ni IHM).
3) ne comporter que du code ensembliste
A +
avec du commit ca fonctionne à moitié, l'execution passe bien mais ca ressort avec un
Msg*3609, Niveau*16, État*1, Ligne*1
La transaction s'est terminée dans le déclencheur. Le traitement a été abandonné.
de toute facon un trigger sans transaction ca n'a pas trop de sens en fait ...