![]() |
![]() |
| 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
|
||||
|
||||
|
Te sugiero evaluar el uso de actualizaciones en cache (cachedupdates). Esto hará que los cambios aplicados por el usuario a los datasets sean almacenados en memoria hasta que llames a applyUpdates, logrando que la duración de la transacción sea mínima, sin perder la capacidad de dar marcha atras si el usuario se arrepiente (CancelUpdates)
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
||||
|
||||
|
oki
Entonces la Transacción empieza cuando aplico un applyUpdates????
Agradezco sus comentarios.... |
|
#3
|
||||
|
||||
|
Saludos.
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#4
|
||||
|
||||
|
Cita:
La transacción inicia cuando haces un select, pero es una transacción de solo lectura que no afecta a nadie. Esta transacción será promovida a una de lectura/escritura cuando llamas a apply updates.. que aún con cientos de actualizaciones tardará solo unos instantes, ya que inmediatamente después haras commit, y asunto olvidado. Entonces la contención y la posibilidad de deadlocks es reducida en gran cantidad.. .aún cuando sigue siendo posible que dos clientes colisionen... es mucho menor en entornos con pocos usuarios. Y entonces podes dejar las transacciones en modo wait, puesto que la espera será realmente corta. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#5
|
||||
|
||||
|
ok
Muchísimas gracias por sus comentarios son muy valiosos, hare lo que me recomiendan....
Que tengan Muy Buen Día.... Saludos.... |
|
#6
|
||||
|
||||
|
Duda....
Con respecto al Guardado en la Cache del ibDataset, el problema que tengo ahora, es que en la llave primaria del Detalle es Serie+Folio+Indice, donde indice es un consecutivo, donde cada vez de que se inserte un nuevo registro va tomando el Siguiente, esto lo hacia por medio de un Procedimiento Almacenado, pero ahora que no se va a la BD si no a la Cache quize hacer la prueba del cual muestro a continuación:
Sugerencias para Tomar Totales de Factura ó Tomar el Indice Consecutivo dentro de la Cache???? Agredezco cualquier sugerencia. Última edición por AGAG4 fecha: 15-06-2005 a las 19:56:16. Razón: Corrección |
|
#7
|
||||
|
||||
|
Otra ....
Otra Cosa Juan Antonio porque menciona esto....
"es mucho menor en entornos con pocos usuarios." El método de uso de Cache no funciona como debiera con muchos Usuarios accesando al mismo tiempo en una Base de Datos???? Es la otra duda que me quedo respecto a sus comentarios.... Que Tenga Buen Día.... |
|
#8
|
||||
|
||||
|
oki
No tuve más remedio que lidiarme con un DBF Físico, le añadí los campos que ocupo para determinar el INDICE de la llave primaria y para los TOTALES de la Factura y me funcionó, no encontre nada como crear una tabla en memoría y lidear con ella.... Saludos. |
|
#9
|
||||
|
||||
|
Hola.
Cita:
Cita:
Imagina un entorno donde las transacciones que tardan 0.1 segundos, gracias al uso de actualizaciones en cache. Nos pondremos en el escenario de un supermercado con 200 cajeros y que en un momento particular todos venden cocacola y panecillos (que están en oferta). Aún cuando las transacciones son realmente cortas, la probabilidad de que dos cajeros finalicen una factura al mismo tiempo, y que esta tenga que afectar la existencia de un mismo artículo es ya importante... quizas una vez a la semana, talvez hasta una vez por hora. Entonces habrá que hacer algo para interceptar el error y lidiar con él.. p. ej. hacer esperar a uno de los dos cajeros medio segundo y reintentar la operación. Hasta luego. ![]() pd. Es buena idea que edites el mensaje que obliga a que sea necesario correrse a la derecha para poder escribir esto.... es realmente molesto.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|