首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

同步不同数据库中的表解决思路

2012-08-27 
同步不同数据库中的表需求:在服务器中获取局域网中两个不同mysql数据库A、B,同步它们的一个同名表中的数据,

同步不同数据库中的表
需求:在服务器中获取局域网中两个不同mysql数据库A、B,同步它们的一个同名表中的数据,即同步A.tabale1和B.table2,并存入服务器本地数据库C。

请问大虾:
(1)是否必须分别将A.tabale1和B.table2中的数据读入内存?然后自行同步处理,再写到服务器的本地数据库中?
(2)能否使用mysql语句(如union all)来直接进行数据库操作?


[解决办法]
肯定是常规SQL语句操作了,最好给个列,记录行状态(同步过、未同步、同步中,未同步分为需要新增、需要删除、需要更新)。
[解决办法]
你必须会写SQL语句,这样随便怎么同步都没问题,一条SELECT语句,条件为行状态(未同步),一条更新语句,INSERT\UPDATE\DELETE视行状态决定处理方式。很简单,至于效率你暂时就别考虑了,既然是新手,能做出来就可以了。
[解决办法]
先从A中取出数据,保存在临时表,然后再取B中的表数据,再把它们union的结果保存在临时表,最后insert到c中的表。
[解决办法]
你那样写只能同在一个数据库才行,不同的数据库,你要将结果集缓存,推荐新手用DataTable来存储查询的结果,然后建另一个数据库连接,遍历DataTable的所有行进行插入或修改。

热点排行