Método Installer.OpenDatabase

O método OpenDatabase do objeto Installer abre um banco de dados existente ou cria um novo, retornando um objeto Database . Ele gerará um erro se o objeto Database não puder ser criado e aberto com êxito.

Sintaxe

Installer.OpenDatabase(
  name,
  openMode
)

Parâmetros

name

Cadeia de caracteres necessária que contém o nome do caminho do banco de dados. Se uma cadeia de caracteres vazia for fornecida, um banco de dados temporário será criado sem persistência.

Openmode

Um parâmetro da lista a seguir ou uma cadeia de caracteres que contém o nome do caminho do novo arquivo de banco de dados de saída que deve ser gravado após a confirmação.

Parâmetro Significado
msiOpenDatabaseModeReadOnly
0
Abre um banco de dados somente leitura, sem alterações persistentes.
msiOpenDatabaseModeTransact
1
Abre um banco de dados de leitura/gravação no modo de transação.
msiOpenDatabaseModeDirect
2
Abre um banco de dados de leitura/gravação direta sem transação.
msiOpenDatabaseModeCreate
3
Cria um novo banco de dados, transact modo leitura/gravação.
msiOpenDatabaseModeCreateDirect
4
Cria um novo banco de dados, leitura/gravação no modo direto.
msiOpenDatabaseModeListScript
5
Abre um banco de dados para exibir arquivos de script de anúncio, como os arquivos gerados pelo método CreateAdvertiseScript .
msiOpenDatabaseModePatchFile
32
Adiciona esse sinalizador para indicar um arquivo de patch.

 

Valor retornado

Um objeto Database que representa o banco de dados instalador existente ou novo que foi aberto.

Comentários

Quando um banco de dados é aberto como a saída de outro banco de dados, o fluxo de informações de resumo do banco de dados de saída é, na verdade, um espelho somente leitura do banco de dados original e, portanto, não pode ser alterado. Além disso, ele não é persistente com o banco de dados. Para criar ou modificar as informações de resumo do banco de dados de saída, ele deve ser fechado e reaberto.

Para fazer e salvar alterações em um banco de dados primeiro abra o banco de dados na transação (msiOpenDatabaseModeTransact), crie (msiOpenDatabaseModeCreate ou msiOpenDatabaseModeCreateDirect) ou no modo direto (msiOpenDatabaseModeDirect). Depois de fazer as alterações, sempre chame o método Commit antes de fechar o identificador do banco de dados. O método Commit libera todos os buffers.

Sempre chame o método Commit em um banco de dados aberto no modo direto (msiOpenDatabaseModeDirect ou msiOpenDatabaseModeCreateDirect) antes de fechar o banco de dados. A falha ao fazer isso pode corromper o banco de dados.

Como o método OpenDatabase inicia o acesso ao banco de dados, ele não pode ser usado com uma instalação em execução.

Se o método falhar, você poderá obter informações de erro estendidas usando o método LastErrorRecord .

Requisitos

Requisito Valor
Versão
Windows Instalador 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Instalador 4.0 ou Windows Instalador 4.5 no Windows Server 2008 ou Windows Vista. Windows Instalador no Windows Server 2003 ou Windows XP
DLL
Msi.dll
IID
IID_IInstaller é definido como 000C1090-0000-0000-C000-00000000046