Freigeben über


Database.Merge-Methode

Die Merge-Methode des Database-Objekts dient zum Zusammenführen der Referenzdatenbank mit der Basisdatenbank.

Syntax

Database.Merge(
  reference,
  errorTable
)

Parameter

Referenz

Das erforderliche Database-Objekt, das mit der Datenbank zusammengeführt werden soll.

errorTable

Ein optionaler Name einer Tabelle, der die Namen der Tabellen mit Zusammenführungskonflikten, die Anzahl der in Konflikt stehenden Zeilen innerhalb der Tabelle und einen Verweis auf die Tabelle mit dem Zusammenführungskonflikt enthält.

Rückgabewert

Diese Methode gibt keinen Wert zurück.

Bemerkungen

Die MsiDatabaseMerge-Funktion und Merge-Methode des Database-Objekts können nicht zum Zusammenführen eines Moduls verwendet werden, das in einem Installationspaket enthalten ist. Sie dürfen nicht zum Zusammenführen von Mergemodulen in einem Windows Installer-Paket verwendet werden. Um ein Mergemodul in ein Installationspaket einzuschließen, müssen Ersteller von Installationspaketen die Richtlinien im Thema Anwenden von Mergemodulen befolgen.

Die Merge-Methode kopiert eingebettete CAB-Dateien oder eingebettete Transformationen nicht aus der Referenzdatenbank in die Zieldatenbank. Eingebettete Datenströme, die in der Binary-Tabelle oder Icon-Tabelle aufgeführt sind, werden aus der Referenzdatenbank in die Zieldatenbank kopiert. In die Referenzdatenbank eingebettete Speicher werden nicht in die Zieldatenbank kopiert.

Wenn keine Tabelle bereitgestellt wird, gibt die allgemeine Fehlermeldung die Anzahl der Tabellen mit Zusammenführungskonflikten an. Jede Tabelle kann übergeben werden, aber alle anderen Spalten müssen NULL-Werte zulassen, da der Vorgang zur Aktualisierung der Error-Tabelle fehlschlägt, wenn eine Spalte NULL-Werte nicht zulässt. Eine neu erstellte Tabelle kann ebenfalls übergeben werden, da die Merge-Methode automatisch die Spalten erstellt, die verwendet werden, wenn Zusammenführungskonflikte gefunden werden. Zwei Spalten dienen zum Darstellen von Zusammenführungskonflikten. Die erste Spalte ist der Tabellenname und die Primärschlüsselspalte. Die zweite Spalte ist die Anzahl der Zeilen dieser Tabelle mit Zusammenführungsfehlern.

Wenn gleichnamige Tabellen in beiden Datenbanken hinsichtlich Anzahl von Primärschlüsseln, Spaltentypen, Anzahl der Spalten oder Spaltennamen nicht übereinstimmen, schlägt die Merge-Methode fehl und gibt eine Fehlermeldung mit Angabe des Grunds aus.

Damit die Error-Tabelle erhalten bleibt, muss der Fehlerhandler die Datenbank committen, zu der die Error-Tabelle gehört. Dieser Commit sollte jedoch erfolgen, nachdem die dritte Spalte verwendet wurde, um die Verweise auf die Tabellen abzurufen, in denen Zusammenführungskonflikte aufgetreten sind.

Wenn die Methode fehlschlägt, können Sie die erweiterten Fehlerinformationen mithilfe der LastErrorRecord-Methode abrufen.

Anforderungen

Anforderung Wert
Version
Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP
DLL
Msi.dll
IID
IID_IDatabase ist definiert als 000C109D-0000-0000-C000-000000000046