|
|
|
|
- Casos de error
- Manipular registros durante una transacción
- Transacciones y contexto HFSQL independiente
- OLE DB y Conectores Nativos
HTransactionEnd (Función)
No disponible con este tipo de conexión
Valida la transacción actual: - se validan las modificaciones realizadas en el archivo de datos desde el inicio de la transacción (HTransactionStart o HTransaction).
- se borra el fichero de transacción (si esta transacción es la última transacción en curso para una aplicación de red).
- se desbloquean los registros bloqueados en sólo lectura por la transacción.
MyConnection1 is Connection // Start transaction on data files associated with MyConnection1 HTransactionStart(MyConnection1) // Code used to prepare the order to added // ... WHEN EXCEPTION IN // Add the order HAdd(Orders) // Validate the addition HTransactionEnd(MyConnection1) DO // Delete the order lines HTransactionCancel(MyConnection1) END
// Start transaction on the Orders and OrdLine data files HTransactionStart("C:\Temp\Transaction.trs", "Orders,OrdLine,-Customer") // Code used to prepare the order to added // ... WHEN EXCEPTION IN // Add the order HAdd(Orders) // Validate the addition HTransactionEnd() DO // Delete the order lines HTransactionCancel() END
Sintaxis
Validar una transacción en curso en una conexión Ocultar los detalles
<Result> = HTransactionEnd(<Connection>)
<Result>: booleano - True STRIMEULB si la transacción ha finalizado,
- False si se produce un problema. HErrorInfo devuelve más detalles sobre el error.
Atención: La función no tiene ningún efecto si se inicia una operación global.. Se debe utilizar la sintaxis 2.
<Connection>: Cadena de caracteres o variable de tipo Connection Conexión a utilizar. Esta conexión corresponde a: Si este parámetro corresponde a la constante hAccessHF7, la transacción se realizará en archivos HFSQL ISAM. <Result>: booleano - True STRIMEULB si la transacción ha finalizado,
- False si se produce un problema. HErrorInfo devuelve más detalles sobre el error.
Observaciones Casos de error - Operaciones de anidamiento: Las transacciones no se pueden anidar (es decir, no se puede llamar a HTransactionStart o HTransaction en una transacción). En este caso, se produce el error 70031.
- Se muestra un error fatal en los siguientes casos:
- Se inicia una transacción en todas las conexiones mientras haya al menos una conexión en la transacción..
- Se inicia una operación en una conexión mientras que ya se ha iniciado una operación en todas las conexiones..
- Se inicia una transacción en todas las conexiones mientras haya al menos una conexión cuyo modo de aislamiento no sea "Lectura no comprometida".
Manipular registros durante una transacción Transacciones y contexto HFSQL independiente Al copiar un contexto, si una transacción está en curso en el primer contexto, el nuevo contexto no está en la transacción.. Debe llamar a HTransactionStart (o HTransaction) para iniciar una transacción en el nuevo contexto.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|