Función JetBeginTransaction2

Se aplica a: Windows | Windows Server

Función JetBeginTransaction2

La función JetBeginTransaction2 hace que una sesión escriba una transacción y cree un nuevo punto de guardado. Se puede llamar a esta función más de una vez en una sola sesión para crear puntos de guardado adicionales. Estos puntos de guardado se pueden usar de forma selectiva para mantener o descartar los cambios en la base de datos.

    JET_ERR JET_API JetBeginTransaction2(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

Parámetros

sesid

La sesión que se va a usar para esta llamada.

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.

Value

Significado

JET_bitTransactionReadOnly

La transacción no modificará la base de datos. Si se intenta realizar una actualización, se producirá un error en esa operación con JET_errTransReadOnly. Esta opción se omite a menos que se solicite cuando la sesión especificada aún no esté en una transacción. Esta opción solo está disponible a partir de Windows XP.

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_errClientRequestToStopJetService

No es posible completar la operación porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errInstanceUnavailable

No es posible completar la operación porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos.

Este error solo lo devolverá Windows XP y versiones posteriores.

JET_errNotInitialized

No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRestoreInProgress

No es posible completar la operación porque una operación de restauración está en curso en la instancia asociada a la sesión.

JET_errSessionSharingViolation

No se puede usar la misma sesión para más de un subproceso al mismo tiempo. Este error solo lo devolverá Windows XP y versiones posteriores.

JET_errTermInProgress

No es posible completar la operación porque la instancia asociada a la sesión se está cerrando.

JET_errTransTooDeep

No se puede iniciar una nueva transacción porque la sesión ya está en la profundidad máxima del punto de guardado permitido por el motor de base de datos.

Si se ejecuta correctamente, la sesión proporcionada estará dentro de una transacción. Si la sesión estaba previamente dentro de una transacción, se creará un nuevo punto de guardado.

Si se produce un error, el estado transaccional de la sesión permanecerá sin cambios. No se producirá ningún cambio en el estado de la base de datos.

Comentarios

Para obtener más información sobre cómo funcionan las transacciones, consulte JetBeginTransaction.

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.

Consulte también

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetGetSystemParameter
JetResetSessionContext
JetRollback
JetSetSessionContext
Parámetros del sistema