|
|
|
|
- Bloqueo de registros
- Casos de error
- Manipular registros durante una transacción
- Transacciones y contexto HFSQL independiente
- OLE DB y Conectores Nativos
<Variable Connection>.Transaction (Función)
No disponible con este tipo de conexión
Inicia una transacción en los archivos de datos (HFSQL o accedido a través de una Conector Nativo) y crea el archivo de transacción. ¿Cuál es la información que se guarda en el archivo de transacciones? Cuando una función WLanguage modifica un archivo de datos o de índices durante durante una transacción, los anteriores valores del registro y la operación realizada se almacenan en el archivo de transacciones. MyConnection1 is Connection // Start transaction on data files associated with MyConnection1 MyConnection1.Transaction() Add_Order() WHEN EXCEPTION IN // Add the order Order.Add() // Validate the addition MyConnection1.TransactionEnd() DO // Delete the order lines MyConnection1.TransactionCancel() END
Sintaxis
Iniciar una transacción Client/Server en una conexión específica Ocultar los detalles
<Result> = <Connection>.Transaction([<List of data files>])
<Result>: Booleano - True STRIMEULB si se ha iniciado la transacción,
- False si se produce un problema. HErrorInfo devuelve más detalles sobre el error.
<Connection>: Variable de tipo Connection Nombre de la variable de tipo Conexión que describe la conexión a utilizar. <List of data files>: Cadena de caracteres opcional Lista de los nombres lógicos de uno o varios ficheros de datos a tener en cuenta (o no) en la operación (en este caso, el nombre de el archivo de datos va precedido del signo "-"). | | Si no se especifica este parámetro | Todos los archivos de datos utilizados durante la transacción serán tenidos en cuenta en la transacción. | Si todos los archivos de datos se prefijan con el signo "-" Por ejemplo: "-Cliente, -Producto" | Todos los archivos de datos especificados en la lista y utilizados durante la transacción no serán tenidos en cuenta por la transacción. Todos los archivos de datos no especificados en la lista serán tenidos en cuenta y utilizados durante la transacción. | <b>Si ningún archivo de datos de la lista lleva el prefijo "-"</b> Por ejemplo: "Cliente, producto" | Todos los archivos de datos especificados en la lista y utilizados durante la transacción serán tenidos en cuenta en la transacción. Todos los archivos de datos no especificados y manipulados durante la transacción serán ignorados en la misma. | Si algunos archivos de datos tienen el prefijo "-" y otros no son Por ejemplo: "Cliente, Producto" (equivalente a "Producto") | Todos los archivos de datos de la lista con el prefijo "-" y utilizados durante la transacción serán ignorados en la transacción. Todos los archivos de datos de la lista que no lleven el prefijo "-" y que se utilicen durante la transacción se tendrán en cuenta en la transacción. Los archivos de datos no especificados en la lista serán excluidos de la transacción. |
Iniciar una transacción Client/Server en una conexión específica Ocultar los detalles
<Result> = <Connection>.Transaction(<Transaction file> , <List of data files>)
<Result>: Booleano - True STRIMEULB si se ha iniciado la transacción,
- False si se produce un problema. HErrorInfo devuelve más detalles sobre el error.
<Connection>: Variable de tipo Connection Nombre de la variable de tipo Conexión que describe la conexión a utilizar. <Transaction file>: Cadena de caracteres <List of data files>: Cadena de caracteres Lista de los nombres lógicos de uno o varios ficheros de datos a tener en cuenta (o no) en la operación (en este caso, el nombre de el archivo de datos va precedido del signo "-"). | | Si no se especifica este parámetro | Todos los archivos de datos utilizados durante la transacción serán tenidos en cuenta en la transacción. | Si todos los archivos de datos se prefijan con el signo "-" Por ejemplo: "-Cliente, -Producto" | Todos los archivos de datos especificados en la lista y utilizados durante la transacción no serán tenidos en cuenta por la transacción. Todos los archivos de datos no especificados en la lista serán tenidos en cuenta y utilizados durante la transacción. | <b>Si ningún archivo de datos de la lista lleva el prefijo "-"</b> Por ejemplo: "Cliente, producto" | Todos los archivos de datos especificados en la lista y utilizados durante la transacción serán tenidos en cuenta en la transacción. Todos los archivos de datos no especificados y manipulados durante la transacción serán ignorados en la misma. | Si algunos archivos de datos tienen el prefijo "-" y otros no son Por ejemplo: "Cliente, Producto" (equivalente a "Producto") | Todos los archivos de datos de la lista con el prefijo "-" y utilizados durante la transacción serán ignorados en la transacción. Todos los archivos de datos de la lista que no lleven el prefijo "-" y que se utilicen durante la transacción se tendrán en cuenta en la transacción. Los archivos de datos no especificados en la lista serán excluidos de la transacción. |
Observaciones Bloqueo de registros Los registros añadidos, modificados o eliminados en una transacción se bloquean en el modo de escritura. Casos de error - Operaciones de anidamiento: Las transacciones no se pueden anidar (es decir, no se puede llamar a <Variable Connection>.Transaction 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 "Read Uncommitted"..
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.. Se debe llamar a la función <Variable Connection>.Transaction para iniciar una transacción en el nuevo contexto.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|