如何动态获取sql数据库变化(感知数据库的变化)
有某甲系统 动态的改变mssql数据库中的数据 比如
甲系统不定时间的 update 某表a内的数据
如何写另外一个和甲系统无任何联系的乙系统以最高的效率最快的速度获取到这种变化
问题点数:20、回复次数:7Top
1 楼zheninchangjiang(徐若涵)回复于 2004-08-01 09:42:38 得分 10
做个后台中间服务层
所有客户端的操作先提交至这层,再由这个中间层来向sqlserver提交数据
或者用log explorer来查看日志就行了
我,则是什么也没做,只要保证数据的合法合理和正确性就行了
Top
2 楼zjcxc(邹建)回复于 2004-08-01 10:10:24 得分 1
燕子又飞回来了?Top
3 楼zjcxc(邹建)回复于 2004-08-01 10:11:40 得分 1
如果要与甲系统无关,那就要与数据库有关,通过轮询数据库来得到变化.Top
4 楼zyqqzy()回复于 2004-08-02 09:55:02 得分 1
建立触发器也是比较简单的方法Top
5 楼walkonthesky(★★★★★)回复于 2004-08-02 13:19:55 得分 1
inserted & deletedTop
6 楼wonderyou(凌云)回复于 2004-08-02 13:58:53 得分 6
在甲DBMS系统外构建一个数据库事务提交的中间层,提交成功同时动态记录下每跳sql语句(或存储过程)。然后通过网络(写tcp/ip程序)或者直接网络提交的方式写到乙数据库中。这样可以达到最快的同步速度,如果要获得最高的可靠性的话,还需要进行一些额外的处理。如为避免网络中断或者
网络阻塞甲数据库无法同步到乙数据,可以在数据库中增加一个临时的复制表,保留sql语句。(以文件的方式也可)。 同样这种方法支持向多个数据库的同步复制。Top
7 楼fansun(风行)回复于 2004-08-02 16:22:11 得分 0
谢谢楼上的 wonderyou(凌云) 关键是 如何构造数据库事务提交的中间层阿
甲系统 是由其他人开发已经开发完成Top




