MsiDatabaseImportW-Funktion (msiquery.h)
Die MsiDatabaseImport-Funktion importiert ein Installationsprogramm Textdatei in eine geöffnete Datenbanktabelle.
Syntax
UINT MsiDatabaseImportW(
[in] MSIHANDLE hDatabase,
[in] LPCWSTR szFolderPath,
[in] LPCWSTR szFileName
);
Parameter
[in] hDatabase
Behandeln Sie die Datenbank, die von MsiOpenDatabaseabgerufen wird.
[in] szFolderPath
Gibt den Pfad zum Ordner an, der Archivdateien enthält.
[in] szFileName
Gibt den Namen der zu importierenden Datei an.
Rückgabewert
Die funktion MsiDatabaseImport gibt einen der folgenden Werte zurück:
Bemerkungen
Wenn Sie die MsiDatabaseImport-Funktion verwenden, um eine Textarchivtabelle namens _SummaryInformation in eine Installationsprogrammdatenbank zu importieren, schreiben Sie den Datenstrom "05SummaryInformation". Dieser Datenstrom enthält Standardeigenschaften, die mithilfe von Windows Explorer angezeigt werden können und von COM definiert werden. Die Zeilen der Tabelle werden als Paare von Eigenschafts-ID-Nummern und entsprechenden Datenwerten in den Eigenschaftendatenstrom geschrieben. Weitere Informationen finden Sie unter Eigenschaftensatz. Datum und Uhrzeit in _SummaryInformation sind im Format JJJJ/MM/TT hh::mm::mm::ss. Beispiel: 1999/03/22 15:25:45. Wenn die Tabelle binäre Datenströme enthält, befindet sich der Name des Datenstroms im Datenfeld, und der tatsächliche Datenstrom wird aus einer Datei mit diesem Namen in einem Unterordner mit demselben Namen wie die Tabelle abgerufen.
Textarchivdateien, die von einer Datenbank exportiert werden, durch MsiDatabaseExport sind für die Verwendung mit Versionsverwaltungssystemen vorgesehen und nicht als Mittel zum Bearbeiten von Daten vorgesehen. Verwenden Sie die Datenbank-API-Funktionen und -Tools, die für diesen Zweck entwickelt wurden. Beachten Sie, dass Steuerzeichen in Textarchivdateien übersetzt werden, um Konflikte mit Dateitrennzeichen zu vermeiden. Wenn eine Textdatei Nicht-ASCII-Daten enthält, wird sie mit der Codepage der Daten gestempelt und kann nur in eine Datenbank dieser genauen Codeseite oder in eine neutrale Datenbank importiert werden. Neutrale Datenbanken werden auf die Codepage der importierten Datei festgelegt. Eine Datenbank kann bedingungslos auf eine bestimmte Codeseite festgelegt werden, indem eine Pseudotabelle mit dem Namen _ForceCodepage importiert wird. Das Format einer solchen Datei lautet: Zwei leere Zeilen, gefolgt von einer Zeile, die die numerische Codeseite, ein Tabstopptrennzeichen und die genaue Zeichenfolge enthält: _ForceCodepage
Diese Funktion kann nicht aus benutzerdefinierten Aktionen aufgerufen werden. Ein Aufruf dieser Funktion aus einer benutzerdefinierten Aktion führt dazu, dass die Funktion fehlschlägt.
Wenn die Funktion fehlschlägt, können Sie erweiterte Fehlerinformationen mithilfe MsiGetLastErrorRecordabrufen.
Anmerkung
Der msiquery.h-Header definiert MsiDatabaseImport als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP |
Zielplattform- | Fenster |
Header- | msiquery.h |
Library | Msi.lib |
DLL- | Msi.dll |