AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Gestión de transacciones
  • Presentación
  • Principio
  • Principio de las transacciones en los archivos HFSQL Client/Server y en los archivos HFSQL Classic
  • Gestión avanzada
  • Ficheros creados por una operación
  • Organización de archivos en el servidor
  • Identificador de el equipo que realiza la transacción
  • Errores específicos de la gestión de las operaciones en modo HFSQL Client/Server
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Para mantener la máxima compatibilidad entre las aplicaciones HFSQL Classic (monopuesto o multipuesto) y las aplicaciones HFSQL Client/Server, el mecanismo de transacción en modo HFSQL Client/Server es similar al del modo HFSQL Classic.
Esta página de ayuda presenta las diferencias entre los modos de funcionamiento.
Para más detalles sobre las transacciones, véase Las transacciones.
Java Las transacciones se pueden utilizar únicamente con los archivos de datos de HFSQL Client/Server.
Principio

Principio de las transacciones en los archivos HFSQL Client/Server y en los archivos HFSQL Classic

Cada operación de escritura realizada durante una transacción se almacena en un archivo de transacción.. La transacción puede ser cancelada en cualquier momento: todas las operaciones realizadas desde el inicio de la transacción se cancelarán.
La transacción se cancela automáticamente:
  • cuando se produce un error fatal en el programa (la aplicación está cerrada).
  • durante la llamada a EndProgram.
  • cuando el modo de prueba se detiene desde el editor.
  • cuando se produce un corte de corriente o cuando la aplicación se apaga inesperadamente.
  • cuando el cliente pierde o cierra la conexión.
  • cuando se reinicia el servidor. Atención: la transacción no se cancela si se asigna una contraseña segura al archivo implicado en la transacción. La transacción será cancelada durante la próxima apertura de del archivo de datos.
Aislamiento de las transacciones
El motor HFSQL propone aislar las transacciones: las modificaciones realizadas en una transacción se aíslan de las modificaciones realizadas en otras transacciones que se ejecutan al mismo tiempo, hasta que la primera se confirme.
Existen varios modos de aislamiento:
  • "READ UNCOMMITTED": Leer los datos no comprometidos (modo Default).
  • "READ COMMITTED": Lectura de datos confirmados.
  • "REPEATABLE READ": Transacciones Snapshot (instantánea)
Para obtener más información, consulte Aislamiento de las transacciones.
Gestión avanzada

Ficheros creados por una operación

Varios tipos de archivos de datos HFSQL se crean cuando se implementan las transacciones:
  • el registro de operaciones en transacción: Fichero en formato HFSQL que contiene las diferentes operaciones realizadas sobre los ficheros de aplicación tenidos en cuenta por la operación. Este archivo se crea con HTransactionStart (o HTransaction). Se llama TRSOPERATION.TRS.
  • el registro de identificación: Archivo que contiene la información utilizada para identificar la transacción (nombre del cliente, ordenador,...). Este archivo se llama TRSOperationInfoClient.TRS.
  • el registro de valores: Archivo associated con cada archivo de datos que se tiene en cuenta en la transacción. Este archivo se llama <FileName>.TRX. Para cada operación realizada en la transacción, este fichero contiene:
    • el contenido de la Record después de la operación (durante una supresión por ejemplo).
    • el contenido de la Record después de la operación (durante una adición por ejemplo).

Organización de archivos en el servidor

1. Directorio TRS
Este directorio contiene:
  • El registro de operaciones en transacción.
  • El log de identificación
  • Para cada archivo de datos en transacción de cada base de datos, el correspondiente archivo de valores. La estructura de árbol utilizada corresponde a la estructura de árbol de los archivos de datos associated con la base de datos.
Por ejemplo, si el archivo de órdenes de DataApplicationA está en transacción, el subdirectorio __TRS\DataApplicationA contendrá el archivo Orders.TRX.
Otro ejemplo: si el archivo del cliente de DataApplicationB está en transacción, el subdirectorio __TRS\DataApplicationB\Customer contendrá el archivo Customer.TRX.
2. Directorio de la base de datos DataApplicationA
3. Directorio de la base de datos DataApplicationB

Identificador de el equipo que realiza la transacción

El ordenador que realiza la transacción se identifica según el mismo método en HFSQL Classic y en HFSQL Client/Server: De forma predeterminada, el equipo está identificado con un número único y el nombre del equipo (definido en Windows).
Para identificar fácilmente a el equipo que realiza las operaciones en transacción, HComputer permite definir un identificador propio de el equipo. Este identificador sustituye al nombre de el equipo. Este identificador se guarda en el registro de operaciones en transacción y puede ser consultado a través del Centro HFSQL control.
El cliente se identifica por:
  • HComputer (idéntica a HFSQL Classic).
  • Nombre e IP Address del ordenador.
  • Nombre de la aplicación, que es ExecutableName (ProjectName).
Esta información puede ser recuperada por HTransactionInterrupted si la transacción se interrumpe.

Errores específicos de la gestión de las operaciones en modo HFSQL Client/Server

74020: La clave de acceso del fichero de transacción no corresponde a la clave de acceso del fichero fuente.
El archivo de datos (en modo HFSQL Client/Server) y el archivo de transacción no utilizan la misma contraseña.
70032: Problema del modo de aislamiento
Este error puede ocurrir en los siguientes casos:
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local