Funzione JetCreateDatabase
Si applica a: Windows | Windows Server
Funzione JetCreateDatabase
La funzione JetCreateDatabase crea e collega un file di database da usare con il motore di database ESE. La chiamata a JetCreateDatabase2 con cpgDatabaseSizeMax impostata su zero è identica alla chiamata di JetCreateDatabase con szConnect impostato su NULL. Attualmente è possibile creare fino a sette database per istanza.
JET_ERR JET_API JetCreateDatabase(
__in JET_SESID sesid,
__in JET_PCSTR szFilename,
__in_opt JET_PCSTR szConnect,
__out JET_DBID* pdbid,
__in JET_GRBIT grbit
);
Parametri
sesid
Contesto della sessione di database da usare per la chiamata API.
szFilename
Nome del database da creare.
szConnect
Riservato per utilizzi futuri. Impostata su NULL.
pdbid
Puntatore a un buffer che, in una chiamata riuscita, contiene l'identificatore del database. In caso di errore, il valore non è definito.
grbit
Un gruppo di bit che specifica zero o più delle opzioni seguenti.
Valore |
Significato |
---|---|
JET_bitDbOverwriteExisting |
Per impostazione predefinita, se Viene chiamato JetCreateDatabase e il database esiste già, la chiamata API avrà esito negativo e il database originale non verrà sovrascritto. JET_bitDbOverwriteExisting modifica questo comportamento e il database precedente verrà sovrascritto con uno nuovo. Windows XP e versioni successive. |
JET_bitDbRecoveryOff |
JET_bitDbRecoveryOff disattiva la registrazione. L'impostazione di questo bit perde la possibilità di riprodurre i file di log e ripristinare il database in uno stato utilizzabile coerente dopo un evento irreversibile. |
JET_bitDbShadowingOff |
L'impostazione di JET_bitDbShadowingOff disabilita la duplicazione di alcune strutture di database interne (shadowing). La duplicazione di queste strutture viene eseguita per la resilienza, quindi l'impostazione JET_bitDbShadowingOff rimuoverà tale resilienza. |
Valore restituito
Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sui possibili errori ESE, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.
Codice restituito |
Descrizione |
---|---|
JET_errSuccess |
Operazione riuscita. |
JET_errDatabaseDuplicate |
Il database denominato in szFilename esiste già. Quando viene restituito questo errore, il database non viene collegato. |
JET_errDatabaseInUse |
Può essere restituito se è stato richiesto l'accesso esclusivo, ma non è stato possibile concedere o se un'altra sessione ha già aperto il database in modo esclusivo. |
JET_errDatabaseInvalidPages |
Restituito quando cpgDatabaseSizeMax è maggiore del numero massimo di pagine consentite in un database. Il valore massimo corrente è 2147483646 (0x7ffffffe). |
JET_errDatabaseInvalidPath |
È stato specificato un percorso non valido in szFilename. szFilename deve essere diverso da NULL. Per impostazione predefinita, szFilename deve puntare a una directory esistente. Il percorso verrà creato se JET_paramCreatePathIfNotExist è impostato (vedere JetSetSystemParameter). |
JET_errDatabaseLocked |
Indica che un'altra sessione ha già aperto il database in modo esclusivo (tramite JET_bitDbExclusive). |
JET_errDatabaseNotFound |
Il database non è stato collegato in precedenza (vedere JetAttachDatabase). |
JET_errDatabaseSharingViolation |
Il file di database è già stato collegato da una sessione diversa. |
JET_errInTransaction |
È stato effettuato un tentativo di creazione di un database durante una transazione. |
JET_errInvalidDatabase |
È stato effettuato un tentativo di aprire un file che non è un file di database valido. |
JET_errOneDatabasePerSession |
È stato effettuato un tentativo di apertura di più database e JET_paramOneDatabasePerSession è stato impostato. Vedere Parametri di database. |
JET_errOutOfMemory |
L'operazione non è riuscita perché non è stato possibile allocare memoria. |
JET_errTooManyAttachedDatabases |
È possibile collegare solo un numero finito di database per ogni istanza. Il limite è attualmente di sette database per istanza. |
JET_wrnDatabaseAttached |
Avviso non irreversibile che indica che il file di database è già stato allegato da questa sessione. |
JET_wrnFileOpenReadOnly |
JET_wrnFileOpenReadOnly indica che il file è stato collegato in sola lettura, ma JetCreateDatabase non ha superato JET_bitDbReadOnly. Il database è ancora aperto con accesso di sola lettura. |
Commenti
Se il database specificato in szFilename esiste e JET_bitDbOverwriteExisting non è stato passato, la chiamata API avrà esito negativo. Se JET_bitDbOverwriteExisting è stato passato, il file di database precedente verrà eliminato per primo.
Se l'API crea un file di database e quindi genera un altro errore, pulisce ed elimina il file.
JetCreateDatabase aprirà in modo implicito il database. Non è necessariamente chiamare successivamente JetOpenDatabase.
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista, Windows XP o Windows 2000 Professional. |
Server |
Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Intestazione |
Dichiarato in Esent.h. |
Libreria |
Usare ESENT.lib. |
DLL |
Richiede ESENT.dll. |
Unicode |
Implementato come JetCreateDatabaseW (Unicode) e JetCreateDatabaseA (ANSI). |
Vedere anche
File del motore di archiviazione estendibile
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Parametri di sistema