Поделиться через


Функция MsiDatabaseImportA (msiquery.h)

Функция MsiDatabaseImport импортирует текстовый архивный файл установщика в открытую таблицу базы данных.

Синтаксис

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

Параметры

[in] hDatabase

Дескриптор базы данных, полученной из MsiOpenDatabase.

[in] szFolderPath

Указывает путь к папке, содержащей архивные файлы.

[in] szFileName

Указывает имя импортируемого файла.

Возвращаемое значение

Функция MsiDatabaseImport возвращает одно из следующих значений:

Комментарии

При использовании функции MsiDatabaseImport для импорта текстовой архивной таблицы с именем _SummaryInformation в базу данных установщика записывается поток "05SummaryInformation". Этот поток содержит стандартные свойства, которые можно просматривать с помощью windows Обозреватель и определяются COM. Строки таблицы записываются в поток свойств в виде пар идентификаторов свойств и соответствующих значений данных. См. раздел Набор свойств потока сводной информации. Дата и время в _SummaryInformation имеют формат ГГГГ/ММ/ДД чч::мм::сс. Например, 1999/03/22 15:25:45. Если таблица содержит двоичные потоки, имя потока находится в поле данных, а фактический поток извлекается из файла с таким именем во вложенной папке с тем же именем, что и таблица.

Текстовые архивные файлы, экспортированные msiDatabaseExport из базы данных, предназначены для использования с системами управления версиями и не предназначены для использования в качестве средства редактирования данных. Используйте функции и средства API базы данных, предназначенные для этой цели. Обратите внимание, что управляющие символы в текстовых архивных файлах переводятся во избежание конфликтов с разделителями файлов. Если текстовый архивный файл содержит данные, отличные от ASCII, он помечен кодовой страницей данных и может быть импортирован только в базу данных этой точной кодовой страницы или в нейтральную базу данных. Нейтральным базам данных присваиваются кодовая страница импортированного файла. Для базы данных можно безоговорочно задать определенную кодовую страницу, импортировав псевдо-таблицу с именем _ForceCodepage. Формат такого файла: две пустые строки, за которой следует строка, содержащая числовую кодовую страницу, разделитель табуляции и точную строку: _ForceCodepage

Эту функцию нельзя вызвать из пользовательских действий. Вызов этой функции из настраиваемого действия приводит к сбою функции.

В случае сбоя функции можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.

Примечание

Заголовок msiquery.h определяет MsiDatabaseImport в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP
Целевая платформа Windows
Header msiquery.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Функции управления базами данных

Текстовые архивные файлы