后台主机上数据表某个记录改变了,怎样通知前台主机并触发一个事件呢(100分)

  • 主题发起人 主题发起人 郑宇轩
  • 开始时间 开始时间

郑宇轩

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在做的比较傻,后台将从现场采集来的数据写入后台数据表中,
前台不停地轮检后台的数据表,这样能实现,但是时间不能让人
忍受,因为这是要用在上海市明珠线控制中心的调度软件。大家
帮忙想想办法。
 
你做得并不傻,除此之外我也想不出有什么好办法,多开几个线程吧。
 
通过使用数据库的触发器能够解决这个问题。
 
可不可已用前端运行一个soket监听进程,在后台数据改变后,向前端发送一个消息。通知前端?
你前后端的环境?
 
我现在已经开了几个线程,在98和delphi5下,我为每个线程
处理的数据表设置一session好像可以实现,在2000下就有问题
我现在正在装一个98试试,有好的建议别忘通知我。多谢。
to santgan:数据库触发器我只了解一些概念,在delphi和Access
中具体怎么用,您能说得详细一些吗?谢谢。
 
前端现为win2000(准备改为98),delphi5 PIII500
后端为win98,delphi5,Piii500
两者通过两块网卡和一个Hub 相连。
 
Access可能不支持触发器的概念。触发器只适应于C/S型的数据库,当然还和具体的数据库软件有关系。
可以用Interbase来测试触发器的效果。
可否这么做:
在数据库中添加一个只有一条记录的Table,后台更新时将这个记录加1,前台循环检索这一条记录,如果大于0,就读取数据然后将其减1。
 
即使用触发器,可能也需要前台来主动的探察,因为有些时候
后台数据的更新并不是很快就完成,而前台往往需要实时。
 
应该采用铃铛的办法.
 
to wgzhang:
铃铛什么“高档”东西?
 
铃铛说:“铃铛” 见以上 “铃铛”的发言。
如果没有触发器,你现在的应用可以在采集来的数据
写入后台数据表的同时向前端发送sock消息。
 
使用COM的可连接对象,当后台主机某个记录改变时就触发前台主机的事件进行处理。
 
1.我认为santgan的方法可行.
2.铃铛的方法比较及时.
 
可如何通知前端的程序呢?在B/S模式下应如何操作呢?
 
多人接受答案了。
 
后退
顶部