如果是同一种数据库的话,你同步的数据表结构是否相同,如果也相同的话,完全可以利用数据库的同步复制机制来解决;(做主从)
如果表结构不相同的话,如果不在应用层处理的话,有两种方式参考:
1,A推数据给B;A有数据的时候,实时或非实时(采用event或trigger)将数据推到B中,B再做处理;
2,B从A拉数据,用一个event(mysql中的job)定时从A中拉数据然后进行处理;
另外可以选择在应用层来做,这个我就不多介绍了,根据业务逻辑coding就行了。
由于不清楚你的业务特点,所以无法进一步的帮你分析。
在pgsql的数据库中将要同步的表建立一个一模一样的同步表。然后建触发器,将进入源表中的数据触发到同步表中。然后做一个windows服务扫描这个同步表并且将同步表中的数据同步到mysql
或access中。
如果是整个数据库中有许多表要进行同步。则建立一个共用的同步表,结构非常简单。字段如下:
主键(f_id),源表名(f_tablename),主键字段名(f_keyname),主键值(f_keyvalue), *** 作标识(f_operflag
i:插入
u:更新
d:删除),时间字段(f_time)将要同步的表都建立触发器,只要有增、改、删都触发到这个表里。这样你只扫描这个共用的同步表,根据这些字段值完全可以实现数据的同步。隔离网闸就是这么个原理,只不过它的要比这复杂多了!
楼主可以用用C#做一个
系统服务
,每30分钟(时间可以自己定义)执行一次,每次读取多少1000条
数据记录
(并记住读取到哪一条记录),然后向备份数据库写入数据。这样就能达到
数据同步
了
至于楼主说的要判断是更改还是删除,这种情况就只能在 *** 作第一个数据库的同时 *** 作第二个数库了
以上就是关于如何解决多数据库之间同步问题全部的内容,包括:如何解决多数据库之间同步问题、有2个数据库,怎么实现数据同步、用C#实现两个数据库的信息同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)