日期:2014-05-18  浏览次数:20506 次

如何同时对俩个数据库进行操作
项目要求系统有俩个数据库,内网的为备份用,外网的作为公开网让用户访问。
限制:内网可以访问外网数据库,对外网数据库进行操作,外网不能访问内网数据库,俩台服务器不在同一个地方
要求:发布信息的时候要求内网和外网数据库同时发布,且俩者必须一样。
问题:如何保证俩个数据库的数据同步操作,且不会丢失。当外网有公网用户提交数据时,如何导入到内网来,外网不能访问内网
我现在是通过WEBService对俩个数据库进行操作,但如果插入第一个数据库成功,第2个数据库失败时,俩个数据库的数据就不一样了,
还有外网的数据只能通过后台用户手动导入,比较麻烦。各位有啥好的办法吗?


------解决方案--------------------
数据库同步
------解决方案--------------------
没什么好办法~我也遇到过你说的这种现象~就是企业网和公网不能一机双网~甚至设备网和办公网也不能一机双网~这在大型的企业中很容易遇到~
坦白讲没有什么好的解决办法~我甚至曾经想过通过屏幕OCR的方法来实现双网物理隔离后的互访~但是实用性不高~
这些政策面的死规定想用技术面来绕过是不现实的~
除非主管部门睁一只眼闭一只眼~或者自欺欺人的说装上什么双向的硬件防火墙~

不过你的问题好像主要还是分布式数据库的复制~只要你的数据库支持同步复制就应该差不多了~
这是数据库管理员干的事情~呵呵~
------解决方案--------------------
没有弄过,期待高手。
------解决方案--------------------
用数据库级触发器
------解决方案--------------------
oracle支持用数据库级触发器,sqlServer不支持用数据库级触发器,麻烦点只能在每个表上建立
------解决方案--------------------
是什么数据库?如果是ms server的话,请使用发布-订阅功能。
大概就是在外网数据库中发布要同步的数据库,或者表。
然后在内网中订阅就可以了。
这样,当你当外网数据库的数据发生改变的时候,会生成快照。内网数据库会定时刷新快照,决定是否同步数据。
其实就是定时数据复制。

具体你在网上搜一下,不难的。