Compartilhar via


Função MsiDatabaseImportA (msiquery.h)

A função MsiDatabaseImport importa um instalador arquivo de arquivo de texto para uma tabela de banco de dados aberta.

Sintaxe

UINT MsiDatabaseImportA(
  [in] MSIHANDLE hDatabase,
  [in] LPCSTR    szFolderPath,
  [in] LPCSTR    szFileName
);

Parâmetros

[in] hDatabase

Manipule para o banco de dados obtido de MsiOpenDatabase.

[in] szFolderPath

Especifica o caminho para a pasta que contém arquivos de arquivo morto.

[in] szFileName

Especifica o nome do arquivo a ser importado.

Valor de retorno

A função MsiDatabaseImport retorna um dos seguintes valores:

Observações

Ao usar a função MsiDatabaseImport para importar uma tabela de arquivo morto de texto chamada _SummaryInformation para um banco de dados do instalador, você escreve o fluxo "05SummaryInformation". Esse fluxo contém propriedades padrão que podem ser exibidas usando o Windows Explorer e são definidas por COM. As linhas da tabela são gravadas no fluxo de propriedades como pares de números de ID de propriedade e valores de dados correspondentes. Consulte conjunto de propriedades de fluxo de informações de resumo. A data e a hora em _SummaryInformation estão no formato: YYYY/MM/DD hh::mm::ss. Por exemplo, 1999/03/22 15:25:45. Se a tabela contiver fluxos binários, o nome do fluxo estará no campo de dados e o fluxo real será recuperado de um arquivo desse nome em uma subpasta com o mesmo nome da tabela.

Arquivos de arquivo de texto exportados de um banco de dados msiDatabaseExport são destinados para uso com sistemas de controle de versão e não devem ser usados como um meio de editar dados. Use as funções e as ferramentas da API de banco de dados projetadas para essa finalidade. Observe que os caracteres de controle em arquivos de arquivo de texto são convertidos para evitar conflitos com delimitadores de arquivo. Se um arquivo de arquivo de texto contiver dados não ASCII, ele será carimbado com a página de código dos dados e só poderá ser importado para um banco de dados dessa página de código exata ou para um banco de dados neutro. Bancos de dados neutros são definidos como a página de código do arquivo importado. Um banco de dados pode ser definido incondicionalmente para uma página de código específica importando uma pseudo tabela chamada: _ForceCodepage. O formato desse arquivo é: duas linhas em branco, seguidas por uma linha que contém a página de código numérico, um delimitador de guia e a cadeia de caracteres exata: _ForceCodepage

Essa função não pode ser chamada de ações personalizadas. Uma chamada para essa função de uma ação personalizada faz com que a função falhe.

Se a função falhar, você poderá obter informações de erro estendidas usando msiGetLastErrorRecord.

Nota

O cabeçalho msiquery.h define MsiDatabaseImport como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer no Windows Server 2003 ou Windows XP
da Plataforma de Destino Windows
cabeçalho msiquery.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

Funções de gerenciamento de banco de dados

arquivos de arquivo de texto