![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Entonces no te la jueges. Puede que al final nunca tengas accesos concurrentes pero lo mejor es programar como si los hubiese.
|
|
#2
|
|||
|
|||
|
Lo que te comentan los companieros es muy cierto...el punto esencial de una transaccion es que engloba multiples operaciones en un solo paso(todo o nada).
Tampoco debes olvidar, no solo hablando de muchos usuario, incluso pensando en uno solo haciendo una insercion de registros en digamos 3 tablas si por hazares del destino ocurre una falla en la insercion de una de las tablas (porque hasta errores improbables sucede) y solo lograste hacer la insercion en 2 y en la tercera no...ya vas a tener informacion inconsistente... te dejo este ejemplo muy sencillo pero util..... Considere la base de datos de un banco que contiene balances para varias cuentas de clientes, supongamos que queremos registrar el pago de $100 desde la cuenta de Alice hacia la cuenta de Bob, las sentencias SQL a ejecutar para esta operacion serian como la siguiente: Como se puede observar hay varias actualizaciones involucradas para terminar la operacion, los operadores del banco deben estar seguros de que todas esas actualizaciones se ejecuten, o en caso de falla que ninguna se ejecute, ya que se podria dar el caso de que Bob reciba $100 sin que sean debitados de la cuenta de Alice. Agrupando las actualizaciones en una sola transaccion se puede garantizar que en caso de un fallo ninguna actualizacion se ejecute. Última edición por cascarrabias fecha: 25-04-2008 a las 12:13:28. |
|
#3
|
||||
|
||||
|
Los ejemplos de roman y cascarrabias me han sido muy utiles para apreciar el objeto de una transacción.
Ahora bien, 1) Cuándo debo iniciar la transacción? 2) Cómo debe finalizar? 3) Es el engine quien se encarga de negociar la conciliación de datos? 4) Si tengo un error, utilizo RollBack, pero como se cuando es exitosa? Saludos
__________________
|
|
#4
|
|||
|
|||
|
Hola...
Te contesto de acuerdo a mi experiencia: Una transacción la debes iniciar justo antes de mandar los datos a la base de datos:
Cita:
Cita:
Si alguna de estas operaciones de verificador terminan en un error, el servidor se encarga de comunicar al cliente de tal situación... Cita:
Espero que te aclare un poco tus dudas... Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Diferencias entre Firebird e Interbase | David | Firebird e Interbase | 6 | 28-04-2007 16:14:47 |
| Diferencias entre Delphi | Rabata | Varios | 4 | 27-10-2005 17:02:05 |
| Diferencias entre OnActivate y OnPaint | FunBit | OOP | 4 | 02-09-2005 16:40:22 |
| Diferencias Entre Componentes Ado Y Dbexpress | mendozasoftware | Firebird e Interbase | 6 | 06-05-2005 02:43:14 |
| Diferencias entre FREE y DESTROY | bustio | OOP | 1 | 23-06-2004 05:48:35 |
|