Database.Merge, méthode

La méthode Merge de l’objet Database fusionne la base de données de référence avec la base de données de base.

Syntaxe

Database.Merge(
  reference,
  errorTable
)

Paramètres

reference

Objet Database requis à fusionner dans la base de données.

errorTable

Nom facultatif d’une table pour contenir les noms des tables contenant des conflits de fusion, le nombre de lignes en conflit au sein de la table et une référence à la table avec le conflit de fusion.

Valeur retournée

Cette méthode ne retourne pas de valeur.

Notes

La fonction MsiDatabaseMerge et la méthode Merge de l’objet Database ne peuvent pas être utilisées pour fusionner un module inclus dans le package d’installation. Elles ne doivent pas être utilisées pour fusionner des modules de fusion dans un package Windows Installer. Pour inclure un module de fusion dans un package d’installation, les auteurs de packages d’installation doivent suivre les instructions décrites dans la rubrique Application de modules de fusion.

La méthode Merge ne copie pas les fichiers d’armoire incorporés ou les transformations incorporées de la base de données de référence dans la base de données cible. Les flux de données incorporés répertoriés dans la table binaire ou la table d’icônes sont copiés de la base de données de référence vers la base de données cible. Les stockages incorporés dans la base de données de référence ne sont pas copiés dans la base de données cible.

Si aucune table n’est fournie, le message d’erreur général indique le nombre de tables contenant des conflits de fusion. Toute table peut être transmise, mais toutes les autres colonnes doivent avoir la valeur Null, car l’opération de mise à jour de la table d’erreurs échoue si une colonne ne peut pas avoir la valeur Null. Une table nouvellement créée peut également être transmise, car la méthode Merge crée automatiquement les colonnes qu’elle utilise si des conflits de fusion sont détectés. Deux colonnes sont utilisées pour présenter des conflits de fusion. La première colonne est le nom de la table et la colonne clé primaire. La deuxième colonne correspond au nombre de lignes de cette table qui ont des échecs de fusion.

Si les tables du même nom dans les deux bases de données ne correspondent pas au nombre de clés primaires, aux types de colonnes, au nombre de colonnes ou aux noms de colonnes, la méthode Merge échoue et publie un message d’erreur indiquant ce qui s’est produit.

Pour que la table Error reste, le gestionnaire d’erreurs doit valider la base de données à laquelle appartient la table Error. Toutefois, cette validation doit être effectuée après avoir utilisé la troisième colonne pour obtenir les références aux tables où des conflits de fusion se sont produits.

Si la méthode échoue, vous pouvez obtenir des informations d’erreur détaillées à l’aide de la méthode LastErrorRecord.

Configuration requise

Condition requise Valeur
Version
Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP
DLL
Msi.dll
IID
IID_IDatabase est défini comme 000C109D-0000-0000-C000-000000000046