Share via


Funzione JetAttachDatabase2

Si applica a: Windows | Windows Server

Funzione JetAttachDatabase2

La funzione JetAttachDatabase2 collega un file di database da utilizzare con un'istanza di database e specifica una dimensione massima per tale database. Per usare il database, sarà necessario aprirlo successivamente con JetOpenDatabase.

    JET_ERR JET_API JetAttachDatabase2(
      __in          JET_SESID sesid,
      __in          const tchar* szFilename,
      __in          const unsigned long cpgDatabaseSizeMax,
      __in          JET_GRBIT grbit
    );

Parametri

sesid

Contesto della sessione di database che verrà usato per la chiamata API.

szFilename

Nome del database da collegare.

cpgDatabaseSizeMax

Dimensioni massime, nelle pagine del database, per il database. La dimensione predefinita della pagina del database è di 4 kilobyte, che può essere modificata usando la funzione JetSetSystemParameter prima di creare un database.

Se si passa zero, non è previsto alcun limite massimo applicato dal motore di database.

grbit

Gruppo di bit che contengono le opzioni da usare per questa chiamata, che includono zero o più dei seguenti elementi:

Valore

Significato

JET_bitDbDeleteCorruptIndexes

Se JET_paramEnableIndexChecking è stato impostato, tutti gli indici sui dati Unicode verranno eliminati. Per altre informazioni, vedere le sezione Osservazioni.

JET_bitDbDeleteUnicodeIndexes

Tutti gli indici sui dati Unicode verranno eliminati, indipendentemente dall'impostazione di JET_paramEnableIndexChecking. Per altre informazioni, vedere le sezione Osservazioni.

JET_bitDbReadOnly

Impedisce modifiche al database.

JET_bitDbUpgrade

Riservato per utilizzi futuri.

Valore restituito

La funzione restituisce uno dei codici di errore JET_ERR . Di seguito sono riportati i valori restituiti più di frequente. Per un elenco completo degli errori per questa API, vedere Extensible Storage Engine Error Codes (Codici di errore del motore di archiviazione estendibile).

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBackupInProgress

Il collegamento di un database non è consentito durante un backup.

JET_errDatabaseFileReadOnly

Il file di database specificato da szFilename deve essere scrivibile. L'attributo Read-Only non deve essere impostato e il processo in esecuzione deve disporre di privilegi sufficienti per scrivere nel file.

JET_errDatabaseInUse

Il file di database è già aperto da un altro processo.

JET_errDatabaseInvalidPath

È stato specificato un percorso non valido in szFilename. szFilename deve essere diverso da NULL e fare riferimento a un percorso valido.

JET_errDatabaseSharingViolation

Il file di database è già stato collegato da una sessione diversa.

JET_errFileNotFound

Il file specificato in szFilename non esiste.

JET_errPrimaryIndexCorrupted

Si è verificato un errore con l'indice primario. Può trattarsi di un danneggiamento fisico, ad esempio il danneggiamento del disco o della memoria. Può anche essere restituito quando si collega un database per l'ultima modifica in un sistema operativo precedente e l'indice primario si trova su una colonna con dati Unicode. Per altre informazioni sugli indici sui dati Unicode, vedere le osservazioni.

JET_errSecondaryIndexCorrupted

Si è verificato un errore con un indice secondario. Può trattarsi di un danneggiamento fisico, ad esempio il danneggiamento del disco o della memoria. Può anche essere restituito quando si collega un database per l'ultima modifica in un sistema operativo precedente e un indice secondario si trova su una colonna con dati Unicode. Per altre informazioni sugli indici sui dati Unicode, vedere le osservazioni. Gli indici secondari vengono ricompilati completamente quando un database viene deframmentato con un'utilità offline usando il comando seguente: esentutl -d.

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.

Commenti

Il file di database viene scollegato usando JetDetachDatabase o JetDetachDatabase2.

Per le osservazioni, vedere JetAttachDatabase .

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 JetAttachDatabase2W (Unicode) e JetAttachDatabase2A (ANSI).

Vedere anche

File del motore di archiviazione estendibile
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter