Compartir a través de


Función JetAttachDatabase2

Se aplica a: Windows | Windows Server

Función JetAttachDatabase2

La función JetAttachDatabase2 adjunta un archivo de base de datos para su uso con una instancia de base de datos y especifica un tamaño máximo para esa base de datos. Para usar la base de datos, deberá abrirse posteriormente con JetOpenDatabase.

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

Parámetros

sesid

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

szFilename

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

cpgDatabaseSizeMax

Tamaño máximo, en páginas de base de datos, para la base de datos. El tamaño de página de la base de datos predeterminado es de 4 kilobytes, que se puede cambiar mediante la función JetSetSystemParameter antes de crear una base de datos.

Pasar cero significa que no hay ningún máximo aplicado por el motor de base de datos.

grbit

Un grupo de bits que contienen las opciones que se usarán para esta llamada, que incluyen cero o más de lo siguiente:

Valor

Significado

JET_bitDbDeleteCorruptIndexes

Si se ha establecido JET_paramEnableIndexChecking, se eliminarán todos los índices sobre datos Unicode. Para obtener información más detallada, consulte la sección Comentarios.

JET_bitDbDeleteUnicodeIndexes

Se eliminarán todos los índices sobre datos Unicode, independientemente de la configuración de JET_paramEnableIndexChecking. Para obtener información más detallada, consulte la sección Comentarios.

JET_bitDbReadOnly

Impide modificaciones en la base de datos.

JET_bitDbUpgrade

Reservado para uso futuro.

Valor devuelto

La función devuelve uno de los códigos de error JET_ERR . A continuación se muestran los que se devuelven con más frecuencia. (Para obtener una lista completa de los errores de esta API, consulte Códigos de error del motor de almacenamiento extensible).

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errBackupInProgress

No se permite adjuntar una base de datos durante una copia de seguridad.

JET_errDatabaseFileReadOnly

El archivo de base de datos especificado por szFilename debe ser grabable. No se debe establecer el atributo Read-Only y el proceso en ejecución debe tener privilegios suficientes para escribir en el archivo.

JET_errDatabaseInUse

Otro proceso ya ha abierto el archivo de base de datos.

JET_errDatabaseInvalidPath

Se ha proporcionado una ruta de acceso no válida en szFilename. szFilename debe ser distinto de NULL y hacer referencia a una ruta de acceso válida.

JET_errDatabaseSharingViolation

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

JET_errFileNotFound

El archivo especificado en szFilename no existe.

JET_errPrimaryIndexCorrupted

Hay un error con el índice principal. Esto puede deberse a daños físicos (como daños en el disco o en la memoria). También se puede devolver al adjuntar una base de datos modificada por última vez en un sistema operativo anterior y el índice principal se encuentra sobre una columna con datos Unicode. Consulte los comentarios para obtener más información sobre los índices sobre datos Unicode.

JET_errSecondaryIndexCorrupted

Hay un error con un índice secundario. Esto puede deberse a daños físicos (como daños en el disco o en la memoria). También se puede devolver al adjuntar una base de datos modificada por última vez en un sistema operativo anterior y un índice secundario se encuentra sobre una columna con datos Unicode. Consulte los comentarios para obtener más información sobre los índices sobre datos Unicode. Los índices secundarios se vuelven a generar completamente cuando una base de datos se desfragmenta con una utilidad sin conexión mediante el siguiente comando: esentutl -d.

JET_errTooManyAttachedDatabases

Solo se puede adjuntar un número finito de bases 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 se ha adjuntado a esta sesión.

Comentarios

El archivo de base de datos se desasocia mediante JetDetachDatabase o JetDetachDatabase2.

Consulte JetAttachDatabase para obtener comentarios.

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

Consulte también

Archivos extensibles del motor de almacenamiento
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter