Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Diferencias entre usar o no Transacciones (https://www.clubdelphi.com/foros/showthread.php?t=55741)

MaMu 28-04-2008 14:12:26

Claro, pero a eso me referia, si se corta despues del commit?

Saludos

gluglu 28-04-2008 14:47:54

Si se corta la luz después del commit, 'todos' los cambios habrán sido escritos ya al disco duro o dispositivo de almacenamiento. Con lo cual no habrá pérdida de ningun dato y se preservará la integridad de todos los datos en su conjunto.

Si se estropea el disco duro .... :o

Casimiro Noteví 28-04-2008 15:02:41

Cita:

Empezado por gluglu (Mensaje 282959)
Si se corta la luz después del commit, 'todos' los cambios habrán sido escritos ya al disco duro o dispositivo de almacenamiento. Con lo cual no habrá pérdida de ningun dato y se preservará la integridad de todos los datos en su conjunto.

Si se estropea el disco duro .... :o

Replicación o RAID, jeje :)

Delphius 28-04-2008 16:49:59

Cita:

Empezado por Casimiro Notevi (Mensaje 282962)
Replicación o RAID, jeje :)

Más una política de resguardo y recuperación de backups. Algo que parece que se nos olvida muchas veces. No tiene que ser demasiado elaborado, pero es aconsejable que esté bien definido el proceso; que sea explícito.

De nada sirve llevar un replicación y backups si no se fomenta esta actividad. Ya sea que se haga en forma manual o automática, si las personas que intervienen no tienen asimilado la idea, el uso, ventajas y práctica... de nada sirve.

A veces uno no ve y pone en práctica las cosas hasta que le pasa. Y hasta me atrevo a decir que le pasan muchas veces e igualmente continuan:o. Por ejemplo en mi caso: fue necesario haber estropeado varios discos para aprender una valiosa lección. ¡Los backups son necesarios!

Saludos,

roman 28-04-2008 17:19:15

A ver. No entendí el ejemplo de Casimiro:

1. Delphius rompe la silla de una patada.
2. Saca sus ahorros y va a la tienda.
3. No le alcanza el dinero.

¿Cómo hace el rollback para reparar la silla?

:confused: :eek: :D

// Saludos

Delphius 28-04-2008 17:40:57

Cita:

Empezado por roman (Mensaje 282987)
A ver. No entendí el ejemplo de Casimiro:

1. Delphius rompe la silla de una patada.
2. Saca sus ahorros y va a la tienda.
3. No le alcanza el dinero.

¿Cómo hace el rollback para reparar la silla?

:confused: :eek: :D

// Saludos

:D:D:D
¡Que buena pregunta!

A ver.... ¿quien tiene la solución al problema?:rolleyes::D

Por lo pronto he tenido que robarle la silla a mi hermanita.:p
Saludos,

gluglu 28-04-2008 17:44:48

Muy fácil :

Código:

var
  iNumFactura:integer;
begin
  try
    StartTransaction;
    DelphiusPegaPatadaASilla(IntensidadDeLaPatada);  // Os faltaba esta línea
    iNumFactura := HacerFacturaNueva(now); // crea la factura
    CobrarFactura( iNumFactura ); // hace el apunte en caja
    DescontarInventario( iNumFactura ); // descuenta el artículo del inventario de artículos
    Post;
    Commit;
  except
    Rollback;
  end;
end;


Casimiro Noteví 28-04-2008 21:50:40

Menos mal que has encontrado el "bug" antes de instalar el programa a los usuarios, imagina luego el contratiempo de crear parches, actualizaciones y todo ese rollo :)



p.d. Delphius sí que tenía suficiente dinero ahorrado para comprar la silla :D
No le llegaba para una mesa que le había gustado.

MaMu 28-04-2008 21:53:43

Cita:

Empezado por roman (Mensaje 282987)
A ver. No entendí el ejemplo de Casimiro:

1. Delphius rompe la silla de una patada.
2. Saca sus ahorros y va a la tienda.
3. No le alcanza el dinero.

¿Cómo hace el rollback para reparar la silla?

:confused: :eek: :D

// Saludos

Con lo que dice roman, yo puedo establecer que una transacción es, electrónicamente hablando, un sistema de prioridades, en donde la última condición requiere siempre del proceso de la anterior, por lo tanto, al llegar al primer nivel de órden aceptado, ya tendria definido el último como aceptado. Es una suerte de implicancia, que cuando se cumple, permite que los datos sean guardados.

1. Delphius rompe la silla de una patada.
2. Saca sus ahorros y va a la tienda.
3. No le alcanza el dinero.

¿Cómo hace el rollback para reparar la silla?

4. Paga con tarjeta.:D

cestradar 29-04-2008 00:17:06

Cita:

Con lo que dice roman, yo puedo establecer que una transacción es, electrónicamente hablando, un sistema de prioridades, en donde la última condición requiere siempre del proceso de la anterior, por lo tanto, al llegar al primer nivel de órden aceptado, ya tendria definido el último como aceptado. Es una suerte de implicancia, que cuando se cumple, permite que los datos sean guardados.
Acabas de definir las transacciones como un experto :eek:, claro, si elegimos de entre las muchas definiciones de experto como aquel que explica algo sencillo de una forma compleja :D

Pero bueno, supongo ya captaste la idea :rolleyes:

Saludos


La franja horaria es GMT +2. Ahora son las 23:57:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi