Partager via


COM-Based Résolveurs personnalisés

Les résolveurs personnalisés offrent plus de flexibilité que le mécanisme de résolution par défaut et peuvent implémenter la logique métier requise par les applications à l’aide des données répliquées. Un programme de résolution personnalisé BASÉ sur COM est une bibliothèque de liens dynamiques (DLL) qui implémente l’interface COM ICustomResolver , ses méthodes et ses propriétés, ainsi que d’autres interfaces et définitions de type prises en charge conçues spécifiquement pour la résolution de conflits.

Remarque

Il est recommandé d’utiliser un gestionnaire de logique métier plutôt qu’un programme de résolution personnalisé BASÉ sur COM si possible. Pour plus d’informations sur les gestionnaires de logique métier, consultez Exécuter la logique métier pendant la synchronisation de fusion.

Pour générer un programme de résolution COM personnalisé, vous pouvez utiliser la bibliothèque de types fournie dans le replrec.dll; par défaut, cette bibliothèque est installée sur C :\Program Files\Microsoft SQL Server\120\COM.

Avant d’écrire un programme de résolution COM personnalisé, vous devez décider :

  • Les types de modifications de ligne que vous souhaitez résoudre, tels que les mises à jour, les insertions et les suppressions, et si le programme de résolution doit être appelé pendant le chargement des modifications de fusion, le téléchargement des modifications de fusion ou les deux. Vous pouvez spécifier un type de modification, toutes les modifications ou n’importe quelle combinaison. Le programme de résolution de conflit de fusion par défaut gère les conflits non couverts par un programme de résolution personnalisé.

  • Faut-il utiliser le suivi des colonnes pour résoudre le conflit ? Lorsque le suivi au niveau des colonnes est activé, seules les données de ces colonnes où un conflit existe sont marquées comme un conflit, sinon les données sont fusionnées. Toutefois, les conflits sont résolus de la même façon que le suivi au niveau des lignes : le gagnant de priorité remplace toute la ligne de données (mais les données peuvent être un mélange de valeurs à partir du serveur de publication, des abonnés ou de certaines valeurs modifiées qui n’étaient ni du serveur de publication ni des abonnés). Pour plus d’informations, consultez Détecter et résoudre les conflits de réplication de fusion.

Pour implémenter un programme de résolution de conflit personnalisé basé sur COM, consultez Implémenter un programme de résolution de conflit personnalisé pour un article de fusion.

Un programme de résolution personnalisé est spécifié pour un article, et non pour une composition entière. Le même programme de résolution peut être utilisé avec plusieurs articles, mais la logique dans les résolveurs personnalisés est souvent spécifique à une table particulière. Si la table utilisée dans l’article est modifiée après la création du programme de résolution (par exemple, en renommant le nom de colonne utilisé dans la résolution des conflits), le programme de résolution personnalisé peut avoir besoin d’être modifié et recompilé.

Pour spécifier un programme de résolution personnalisé, consultez Spécifier un programme de résolution d’article de fusion.

Voir aussi

Détection et résolution avancées des conflits de réplication de fusion
Résolveurs Microsoft COM-Based