Método Database.Merge

O método Merge do objeto Database mescla o banco de dados de referência com o banco de dados base.

Sintaxe

Database.Merge(
  reference,
  errorTable
)

Parâmetros

reference

O objeto Database necessário a ser mesclado no banco de dados.

errorTable

Um nome opcional de uma tabela para conter os nomes das tabelas que apresentam conflitos de mesclagem, o número de linhas conflitantes na tabela e uma referência à tabela com o conflito de mesclagem.

Valor retornado

Esse método não retorna um valor.

Comentários

A função MsiDatabaseMerge e o método Merge do objeto Database não podem ser usados para mesclar um módulo incluído em um pacote de instalação. Eles não devem ser usados para mesclar Módulos de mesclagem em um pacote do Windows Installer. Para incluir um módulo de mesclagem em um pacote de instalação, os autores de pacotes de instalação devem seguir as diretrizes descritas no tópico Aplicar módulos de mesclagem.

O método Merge não copia de arquivos de gabinete inseridos ou de transformações inseridas do banco de dados de referência no banco de dados de destino. Fluxos de dados inseridos listados na Tabela Binary ou na Tabela Icon são copiados do banco de dados de referência para o banco de dados de destino. Os armazenamentos inseridos no banco de dados de referência não são copiados para o banco de dados de destino.

Se nenhuma tabela for fornecida, a mensagem de erro geral fornecerá o total de tabelas que contêm conflitos de mesclagem. Todas as tabelas podem ser passadas, mas todas as outras colunas devem ser anuláveis porque a operação para atualizar a Tabela Error falhará se uma coluna não for anulável. Uma tabela recém-criada também pode ser passada porque o método Merge cria automaticamente as colunas que ele usa caso encontre conflitos de mesclagem. Duas colunas são usadas para apresentar conflitos de mesclagem. A primeira coluna é o nome da tabela e a coluna de chave primária. A segunda coluna é o número de linhas da tabela que têm falhas de mesclagem.

Se as tabelas de mesmo nome nos dois bancos de dados não tiverem o mesmo número de chaves primárias, tipos de coluna, número de colunas ou nomes de colunas, o método Merge falhará e postará uma mensagem de erro informando o que ocorreu.

Para que a tabela Error permaneça, o manipulador de erros deve confirmar o banco de dados ao qual a tabela Error pertence. No entanto, essa confirmação deve ser feita depois de usar a terceira coluna para obter as referências às tabelas em que ocorreram conflitos de mesclagem.

Caso o método falhe, é possível obter informações sobre os erros estendidos usando o método LastErrorRecord.

Requisitos

Requisito Valor
Versão
Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP
DLL
Msi.dll
IID
O IID_IDatabase é definido como 000C109D-0000-0000-C000-000000000046