Função MsiDatabaseImportA (msiquery.h)

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

Sintaxe

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

Parâmetros

[in] hDatabase

Identificador para o banco de dados obtido de MsiOpenDatabase.

[in] szFolderPath

Especifica o caminho para a pasta que contém arquivos mortos.

[in] szFileName

Especifica o nome do arquivo a ser importado.

Valor retornado

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

Comentários

Quando você usa 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 pelo 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. Confira Conjunto de propriedades de fluxo de informações de resumo. A data e a hora em _SummaryInformation estão no formato: AAAA/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.

Os arquivos de texto que são exportados de um banco de dados por MsiDatabaseExport destinam-se ao uso com sistemas de controle de versão e não devem ser usados como um meio de edição de dados. Use as funções e ferramentas da API de banco de dados projetadas para essa finalidade. Observe que os caracteres de controle em arquivos de texto são convertidos para evitar conflitos com delimitadores de arquivo. Se um arquivo morto 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. Os 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 como 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.

Observação

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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte 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
Plataforma de Destino Windows
Cabeçalho msiquery.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Funções de gerenciamento de banco de dados

Arquivos de arquivo de texto