BD

xscorpio
07 de Septiembre del 2005
que tal, como puedo hacer para que cada vez que halla modificaciones en una base de datos, mediante un primer programa, otro segundo programa se actualice automáticamente?
en este caso el segundo programa mostraria la tabla, y el primero se encargaría de modificarla, el chiste es ligar o algo asi para q se actualice solo, alguna idea?

chuidiang
07 de Septiembre del 2005
Hola:

No conozco ninguna solución sencilla para ello.

Una chapucilla sencilla es que el segundo programa haga consultas periodicas para ver si algo ha cambiado.

Si quieres algo más serio, pero más complejo, el segundo programa debe abrir un socket o cualquier otro mecanismo de comunicacion para que le avisen cuando haya cambios.

Puede ser el primer programa el que abra un socket y avise, o bien si la base de datos admite triggers y llamadas a ejecutables externos cuando salte el trigger, que sea ese ejecutable externo el que avise (esto último no lo he probado nunca y no sé si es realmente posible).

La solución que yo aplico habitualmente es hacer un programa "servidor" encargado de leer y escribir en base de datos. Los programas que quieren escribir en base de datos no se conectan a la base de datos, sino a ese servidor. Cuando un programa le pide a este servidor que escriba algo en base de datos, él se encarga de avisar a todos los demás programas que tiene conectados de que ha habido un cambio.

Se bueno.