Función JetBeginTransaction3
Se aplica a: Windows | Windows Server
La función JetBeginTransaction3 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 para mantener o descartar de forma selectiva los cambios en la base de datos.
La función JetBeginTransaction3 se introdujo en el sistema operativo Windows 8.
JET_ERR JET_API JetBeginTransaction3(
__in JET_SESID sesid,
__in int64 trxid,
__in JET_GRBIT grbit
);
Parámetros
sesid
Sesión que se va a usar para esta llamada.
trxid
Identificador opcional proporcionado por el usuario para identificar la transacción.
grbit
Un grupo de bits que especifica cero o más de los valores de opción de llamada enumerados en la tabla siguiente.
Valor |
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 el código de respuesta JET_errTransReadOnly. Esta opción se omite a menos que se solicite cuando la sesión especificada no esté ya en una transacción. Esta opción está disponible en las versiones del sistema operativo Windows a partir de Windows XP. |
Valor devuelto
Esta función devuelve el tipo de datos JET_ERR con uno de los códigos de retorno enumerados en la tabla siguiente. Para obtener más información sobre los posibles errores del motor de almacenamiento extensible (ESE), consulte Errores del motor de almacenamiento extensible y Parámetros de control de errores.
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 la función 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. Las versiones de Windows devuelven este código de retorno a partir de Windows XP. |
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. Las versiones de Windows devuelven este error a partir de Windows XP. |
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 permitida 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 se encontraba anteriormente dentro de una transacción, se creará un nuevo punto de guardado.
En caso de 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 | Valor |
---|---|
Client |
Requiere Windows 8. |
Server |
Requiere Windows Server 2012. |
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