怎样用JAVA来监听数据库里的变化

tianhao1013 2006-06-06 06:09:14
我现在做的是,监听数据库里有没有变化(例如:增加一个表,表里的数据被改动),如果有,就把变动的数据插入到别一个数据库里,请问怎么解决这个问题,我想用JAVA程序把数据全查出来,然后再比软,不过这样太慢了,请高手出来指点一下!
...全文
1118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉珂 2006-06-07
  • 打赏
  • 举报
回复
mark....
UnAgain 2006-06-07
  • 打赏
  • 举报
回复
用触发器不能根本解决问题。触发器只能在数据库中动作,虽然可以监视并且对数据的变化作出相应的处理,但都只限于数据库范围内,不能直接通知外部程序,也没有供外部程序监听的机制。所以最终还是通过轮询。

To:tianhao1013(黑黑)
你当前的给出的信息太少了,再把你面临的问题,周围的环境,详细介绍一下。
tianhao1013 2006-06-07
  • 打赏
  • 举报
回复
我不怎么会用触发器啊,我还是想用程序来控制
htt80 2006-06-06
  • 打赏
  • 举报
回复
用数据库的触发器来处理,如果要用代码来做,只能用定时扫描,不划算!
glok 2006-06-06
  • 打赏
  • 举报
回复
用出发器。

并不是所有的事都要用程序控制的。
UnAgain 2006-06-06
  • 打赏
  • 举报
回复
1)C/S模式
轮询

2)3层或多层模式
用户通过应用服务层访问数据库。这样,应用服务器会首先知道用户对数据库的操作情况,同时为客户端提供访问接口。客户端通过监听该服务的状态即可。
lcllcl987 2006-06-06
  • 打赏
  • 举报
回复
1:为每个table建一个触发器,当该table有变化时,执行插入table:CHANGEMESSAGE(该表记录应向哪个table插入什么记录)操作
2:用一个无状态sessionbean对CHANGEMESSAGE表进行轮询。当CHANGEMESSAGE表有记录时,执行“插入别的数据库的操作”。然后del掉CHANGEMESSAGE的该条记录

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧