|
|
|
|
- Aplicación de red (base de datos ISAM)
- Bloqueo de registros
- Casos de error
- Archivos temporales creados durante la transacción (base de datos ISAM)
- Manipular registros durante una transacción
- Transacciones y contexto HFSQL independiente
- OLE DB y Conectores Nativos
HTransactionStart (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. Observación: Esta función es equivalente a la función HTransaction. 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
Iniciar una transacción Client/Server en una conexión específica Ocultar los detalles
<Result> = HTransactionStart(<Connection> [, <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>: Cadena de caracteres o variable de tipo Connection Nombre de la 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. <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 no especificados en la lista serán excluidos de la transacción. |
Iniciar una transacción Cliente/Servidor en una conexión específica o una transacción ISAM Ocultar los detalles
<Result> = HTransactionStart(<Connection> , <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>: Cadena de caracteres o variable de tipo Connection Conexión a utilizar. Esta conexión corresponde a:Si este parámetro corresponde a una cadena vacía ("") o a la constante hAccessHF7, la transacción se realiza en los archivos de datos HFSQL ISAM. <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. |
Iniciar una transacción ISAM y/o Cliente/Servidor en todas las conexiones HFSQL Client/Server (existentes o futuras) Ocultar los detalles
<Result> = HTransactionStart([<Transaction file> [, <List of 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.
<Transaction file>: Cadena de caracteres opcional <List of 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. |
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 HTransactionStart 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 HTransactionStart para iniciar una transacción en el nuevo contexto.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|