Función JetCreateDatabase

Se aplica a: Windows | Windows Server

Función JetCreateDatabase

La función JetCreateDatabase crea y adjunta un archivo de base de datos que se usará con el motor de base de datos ESE. Llamar a JetCreateDatabase2 con cpgDatabaseSizeMax establecido en cero es idéntico a llamar a JetCreateDatabase con szConnect establecido en NULL. Actualmente, se pueden crear hasta siete bases de datos por instancia.

    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
    );

Parámetros

sesid

Contexto de sesión de base de datos que se va a usar para la llamada API.

szFilename

Nombre de la base de datos que se va a crear.

szConnect

Reservado para uso futuro. Definición en NULL

pdbid

Puntero a un búfer que, en una llamada correcta, contiene el identificador de la base de datos. Si se produce un error, el valor no está definido.

grbit

Un grupo de bits que especifica cero o más de las siguientes opciones.

Valor

Significado

JET_bitDbOverwriteExisting

De forma predeterminada, si se llama a JetCreateDatabase y la base de datos ya existe, se producirá un error en la llamada API y no se sobrescribirá la base de datos original. JET_bitDbOverwriteExisting cambia este comportamiento y la base de datos antigua se sobrescribirá con una nueva. Windows XP y versiones posteriores.

JET_bitDbRecoveryOff

JET_bitDbRecoveryOff desactiva el registro. Establecer este bit pierde la capacidad de reproducir archivos de registro y recuperar la base de datos en un estado utilizable coherente después de un evento catastrófico.

JET_bitDbShadowingOff

Establecer JET_bitDbShadowingOff deshabilitará la duplicación de algunas estructuras internas de base de datos (sombreado). La duplicación de estas estructuras se realiza para la resistencia, por lo que establecer JET_bitDbShadowingOff eliminará esa resistencia.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errDatabaseDuplicate

La base de datos denominada en szFilename ya existe. Cuando se devuelve este error, la base de datos no se adjunta.

JET_errDatabaseInUse

Se puede devolver si se solicitó acceso exclusivo, pero no se pudo conceder, o si otra sesión ya ha abierto la base de datos exclusivamente.

JET_errDatabaseInvalidPages

Se devuelve cuando cpgDatabaseSizeMax es mayor que el número máximo de páginas permitidas en una base de datos. El máximo actual es 2147483646 (0x7ffffffe).

JET_errDatabaseInvalidPath

Se ha proporcionado una ruta de acceso no válida en szFilename. szFilename debe ser distinto de NULL. De forma predeterminada, szFilename debe apuntar a un directorio que exista. La ruta de acceso se creará si se establece JET_paramCreatePathIfNotExist (consulte JetSetSystemParameter).

JET_errDatabaseLocked

Indica que otra sesión ya ha abierto la base de datos exclusivamente (mediante JET_bitDbExclusive).

JET_errDatabaseNotFound

La base de datos no se adjuntó anteriormente (consulte JetAttachDatabase).

JET_errDatabaseSharingViolation

El archivo de base de datos ya se ha adjuntado mediante una sesión diferente.

JET_errInTransaction

Se intentó crear una base de datos mientras se encontraba en una transacción.

JET_errInvalidDatabase

Se intentó abrir un archivo que no es un archivo de base de datos válido.

JET_errOneDatabasePerSession

Se intentó abrir más de una base de datos y se estableció JET_paramOneDatabasePerSession. Consulte Parámetros de base de datos.

JET_errOutOfMemory

Error en la operación porque no se pudo asignar memoria.

JET_errTooManyAttachedDatabases

Solo se puede adjuntar un número finito de base de datos por instancia. El límite es actualmente siete bases de datos por instancia.

JET_wrnDatabaseAttached

Advertencia nofatal que indica que este archivo de base de datos ya está asociado a esta sesión.

JET_wrnFileOpenReadOnly

JET_wrnFileOpenReadOnly indica que el archivo se adjuntó de solo lectura, pero JetCreateDatabase no pasó JET_bitDbReadOnly. La base de datos todavía se abre con acceso de solo lectura.

Comentarios

Si la base de datos especificada en szFilename existe y JET_bitDbOverwriteExisting no se pasó, se producirá un error en la llamada API. Si JET_bitDbOverwriteExisting se pasó, primero se eliminará el archivo de base de datos anterior.

Si la API crea un archivo de base de datos y, a continuación, se produce otro error, se limpia y se elimina el archivo.

JetCreateDatabase abrirá implícitamente la base de datos. No es necesariamente llamar posteriormente a JetOpenDatabase.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetCreateDatabaseW (Unicode) y JetCreateDatabaseA (ANSI).

Consulte también

Archivos extensibles del motor de almacenamiento
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Parámetros del sistema