Ver Mensaje Individual
  #1  
Antiguo 11-06-2008
fcobanda fcobanda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Saltillo, Coah. Mexico
Posts: 19
Reputación: 0
fcobanda Va por buen camino
actualizacion al instante en procedure

Hola que tal de nuevo.

tengo un problema que tratare de explicar paso a paso de lo que estoy haciendo y lo que deseo obtener, para ver si alquien tiene alguna solucion se lo agradeceria mucho. Bien

Tengo una aplicacion con delphi 5 e interbase 6.0 corriendo en red windows y esta misma aplicacion se publicara con citrix. se estan usando los componentes ibx.

Se tiene actualmente el siguiente problema
- dado que la mayoria de las tablas estan relacionadas entre si haciendo relaciones maestro-detalle y a veces sub_detalle, lo cual puede provocar que no se reflejen algunos datos completos, ya que puede no existir un registro padre que se este agregando en otro equipo de la red. Este problema esta solucionado a medias por medio de botones para que el usuario refresque los datos y se cierren y abran los dataset, pero ya saben que los usuarios no son nada ordenados y no lo hacen y esto a provocado varios errores de informacion.

- Se desea que al hacer una modificacion(agregar, modificar, o deletear) registros de alguna tabla se reflejen en los usuarios que estan conectados y los cuales podran estar en modulos distintos ya sea editando o consultando por medio de un grid. (este es el objetivo principal)

--Se hicieron las siguientes modificaciones
1- se agrego un componente ibevents para registrar los eventos de Insert, Update o Delete que ocurrieran en algunas tablas importantes, y al notificarlos a la aplicacion esta se encarga de cerrar y abrir los dataset afectados, y asi poder mantener actualizados los usuarios que esten en ese momento en linea, ya que automaticamente se les refrescan los datos.
2 - en un modulo se tiene un select con varias tablas y logico es solo de lectura, pero al ocurrir un evento en alguna de ellas se tiene que actualizar tambien para reflejar los cambios hechos.

- los cambios hechos se hacen por medio de un store procedure, el cual se llama desde la aplicacion, y funciona correctamente, el problema es que no hace el commit de los cambios inmediatamente ya que la aplicacion no refresca los datos hasta que recibe la notificacion del evento ocurrido, esto provoca que la aplicacion se vea un poco lenta en esta parte. ya se vio que los store procedure y los triggers no adminten commit's dentro de ellos.

ya se hizo el commit inmediatamente despues de llamar el procedimiento por medio de la aplicacion y el problema siguio, se hizo un siguimento de donde se estaba qudando atorado, y se localizo que es en el evento ONEVENTALERT del componente IBEVENTS, el cual se dispara tiempo despues de haberse ejecutado el store procedure.

Alguien sabe como hacer que los cambios hechos en un store procedure se hagan al instante? o que podra estar pasando que se tarda en hacer el commit de dichos cambios y pasarlos a la aplicacion?

les agradeceria si alguien tiene algo que puede corregir esta situacion.

Muchas Gracias desde Mexico
Responder Con Cita