MsiDatabaseImportA, fonction (msiquery.h)
La fonction MsiDatabaseImport importe un fichier d’archive de texte du programme d’installation dans une table de base de données ouverte.
Syntaxe
UINT MsiDatabaseImportA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szFolderPath,
[in] LPCSTR szFileName
);
Paramètres
[in] hDatabase
Gérez la base de données obtenue à partir de MsiOpenDatabase.
[in] szFolderPath
Spécifie le chemin d’accès au dossier qui contient des fichiers d’archive.
[in] szFileName
Spécifie le nom du fichier à importer.
Valeur retournée
La fonction MsiDatabaseImport retourne l’une des valeurs suivantes :
Notes
Lorsque vous utilisez la fonction MsiDatabaseImport pour importer une table d’archive de texte nommée _SummaryInformation dans une base de données du programme d’installation, vous écrivez le flux « 05SummaryInformation ». Ce flux contient des propriétés standard qui peuvent être consultées à l’aide de Windows Explorer et qui sont définies par COM. Les lignes de la table sont écrites dans le flux de propriétés sous forme de paires de numéros d’ID de propriété et de valeurs de données correspondantes. Consultez Summary Information Stream Property Set. La date et l’heure dans _SummaryInformation sont au format AAAA/MM/JJ hh::mm::ss. Par exemple, 1999/03/22 15:25:45. Si la table contient des flux binaires, le nom du flux se trouve dans le champ de données et le flux réel est récupéré à partir d’un fichier de ce nom dans un sous-dossier portant le même nom que la table.
Les fichiers d’archive de texte exportés à partir d’une base de données par MsiDatabaseExport sont destinés à être utilisés avec des systèmes de contrôle de version et ne sont pas destinés à être utilisés comme un moyen de modifier des données. Utilisez les fonctions et outils d’API de base de données conçus à cet effet. Notez que les caractères de contrôle dans les fichiers d’archive texte sont traduits pour éviter les conflits avec les délimiteurs de fichiers. Si un fichier d’archive de texte contient des données non ASCII, il est marqué avec la page de code des données et ne peut être importé que dans une base de données de cette page de code exacte ou dans une base de données neutre. Les bases de données neutres sont définies sur la page de code du fichier importé. Une base de données peut être définie de manière inconditionnelle sur une page de code particulière en important une pseudo table nommée : _ForceCodepage. Le format d’un tel fichier est : Deux lignes vides, suivies d’une ligne qui contient la page de code numérique, un délimiteur d’onglet et la chaîne exacte : _ForceCodepage
Cette fonction ne peut pas être appelée à partir d’actions personnalisées. Un appel à cette fonction à partir d’une action personnalisée entraîne l’échec de la fonction.
Si la fonction échoue, vous pouvez obtenir des informations d’erreur étendues à l’aide de MsiGetLastErrorRecord.
Notes
L’en-tête msiquery.h définit MsiDatabaseImport comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Spécifications
Client minimal pris en charge | Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP |
Plateforme cible | Windows |
En-tête | msiquery.h |
Bibliothèque | Msi.lib |
DLL | Msi.dll |