Función JetCreateInstance

Se aplica a: Windows | Windows Server

Función JetCreateInstance

La función JetCreateInstance asigna una nueva instancia del motor de base de datos para su uso en un único proceso.

Windows XP: JetCreateInstance se introduce en Windows XP.

    JET_ERR JET_API JetCreateInstance(
      __out         JET_INSTANCE* pinstance,
      __in_opt      const tchar* szInstanceName
    );

Parámetros

pinstance

Búfer de salida que recibe la instancia recién creada.

szInstanceName

Identificador de cadena único para la instancia que se va a crear. Esta cadena debe ser única dentro de un proceso determinado que hospeda el motor de base de datos.

Nota Un valor NULL se trata como un identificador de cadena válido para una instancia de . Solo una instancia puede tener un identificador de cadena NULL.

Valor devuelto

Esta función devuelve el tipo de datos JET_ERR 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_errInstanceNameInUse

El nombre de instancia especificado ya está en uso para este proceso.

JET_errInvalidParameter

Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro. Esto puede ocurrir para JetCreateInstance cuando la pinstancia es NULL.

JET_errRunningInOneInstanceMode

Error en la operación porque no se puede usar cuando el motor de base de datos funciona en modo de instancia única (modo de compatibilidad de Windows 2000).

JET_errTooManyInstances

No se pudo crear una nueva instancia porque se ha alcanzado el número máximo de instancias. El número máximo de instancias admitidas se configura mediante JetSetSystemParameter mediante JET_paramMaxInstances.

Si se ejecuta correctamente, se asignará una nueva instancia y se devolverá el identificador para ella. En este momento, todos los parámetros del sistema de la instancia tendrán los valores de los parámetros del sistema predeterminados globales. Una vez que se asigne una instancia, debe finalizarse o liberarse más adelante.

En caso de error, se devolverá un error que representa la causa del error y no se asignará ninguna instancia.

Comentarios

Una instancia debe inicializarse con una llamada a JetInit antes de que pueda usarse con cualquier otra cosa que no sea JetSetSystemParameter.

Una instancia se destruye mediante una llamada a la función JetTerm , incluso si esa instancia nunca se inicializó mediante JetInit. El número máximo de instancias que se pueden crear en cualquier momento se controla mediante JET_paramMaxInstances, que se puede configurar mediante una llamada a JetSetSystemParameter. Una instancia es la unidad de capacidad de recuperación para el motor de base de datos. Controla el ciclo de vida de todos los archivos utilizados para proteger la integridad de los datos en un conjunto de archivos de base de datos. Estos archivos incluyen el archivo de punto de comprobación y los archivos de registro de transacciones.

Si la función se realiza correctamente, el motor de base de datos se cambiará automáticamente al modo de varias instancias como efecto secundario de esta llamada. Si la aplicación desea permitir solo una instancia en el proceso, JetInit debe usarse para iniciar el motor de base de datos en el modo de compatibilidad de Windows 2000.

Si está presente, se usará szDisplayName para identificar la instancia en lugares como registro de eventos o hacia otros autores de llamadas, como aplicaciones de copia de seguridad (a través de funciones como JetGetInstanceInfo o JetOSSnapshotFreeze). Si no se proporciona el nombre para mostrar, se usará szInstanceName único en su lugar si está presente; de lo contrario, se devolverá una cadena vacía. Si el motor no tiene establecido el modo en ejecución, después de esta llamada, se establecerá en modo de varias instancias.

La secuencia de inicio típica para un proceso que podría ejecutar varias instancias de Jet sería:

Si se trata de la primera instancia que se va a iniciar, hay una serie de pasos adicionales que se ejecutarán durante esta llamada para realizar la inicialización y configuración básicas del sistema. Algunos de esos pasos pueden dar lugar a errores específicos a partir de JET_errOutOfMemory pero también otros (consulte los errores anteriores).

Requisitos

Requisito Value

Cliente

Requiere Windows Vista o Windows XP.

Servidor

Requiere Windows Server 2008 o Windows Server 2003.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetCreateInstanceW (Unicode) y JetCreateInstanceA (ANSI).

Consulte también

Archivos extensibles del motor de almacenamiento
JET_ERR
JET_INSTANCE
JetCreateInstance2
JetEnableMultiInstance
JetGetInstanceInfo
JetInit
JetInit2
JetOSSnapshotFreeze
JetSetSystemParameter
JetTerm
JetTerm2