![]() |
![]() |
| 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
|
|||
|
|||
|
Mi idea de tener abierta una transaccion poco tiempo abierta en tiempo lo digo pensando en lo siguiente: De todos es sabido que lo más difícil de controlar en un programa son los errores que puedan cometer los usuarios que luego usen nuestra aplicación y los cuelgues en los ordanadores. Pensando en esto es por lo que pienso que si un usuario abre una transaccion para modificar un registro, lo estás modificando, tarda cierto tiempo y su ordenador se cuelga (que ocurre), ¿qué pasa con todas esas transacciones que quedan abiertas y nunca se cierran?, pienso que esto puede llevar a problemas.
De todas formas Crandel el problema que planteas de la actualización de dos usuarios a la vez tiene una fácil solución. Se podría poner un campo e incrementarlo con un trigger siempre que se actualice ese registro. Al leer un registro para editarlo, leemos este campo y si cuando mandemos la orden de actualizacion si el valor de este campo no es el que leímos originalmente es porque alguien ha actualizado el registro. |
|
#2
|
||||
|
||||
|
Hola, es verdad que mantener el menor tiempo posible las transacciones abiertas.
ferysil, hace mucho implemente (a medias) una solución como la que comentas cuandro trabajaba con tablas paradox y queria hacerlas multiusuario. Hoy en dia, todo ese control ya lo realiza el mismo motor. Aca les dejo un link donde esplica un poco el tema de las transacciones: http://www.clubdevelopers.com/delphi...fastfb/fb6.php Con esto no quiero decir que yo lo este haciendo perfectamente, ni lo creo, pero posiblemente con esta discución podamos encontrar una mejor solución para todos y aprendamos más. Suerte y espero sus comentarios y experiencias.
__________________
[Crandel] |
|
#3
|
||||
|
||||
|
Hola amigos, tiene un buen que estoy desconectado del foro pero hoy que porfin pude entrar checando este hilo y esperando no haber perdido la practica en cuanto a delphi, firebird y fibplus (ya que por otro proyecto desde finales del año pasado no las uso).
Despues de leer la lija de Cardel Cita:
Ya que si no usas delphi y solo desde un administrador de BD's como IBExpert usas un insert y no das el commit te indica un error al querer ejecutar otra accion u otro insert indicandote que la transacción no se a cerrado. Ahora bien el TpFIBDataset de las FibPlus tiene una propidad autocommit la cual tienes que pones en verdadero para que se cierren las transacciones de forma automatica y no tengas que estar programando el CommitRetaining, al igual que Cardel tengo sistemas donde nunca cierro el componente TpFIBTransaction y hasta el momento no he tenido problemas, los tuve cuando no cambiaba la propiedad de autocommit a verdadero.
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México |
|
#4
|
||||
|
||||
|
Aqui les dejo este manual sobre transacciones en interbase y firebird
http://www.terra.es/personal2/jrodri...ones-0.2.6.pdf Un saludo
__________________
Milo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|