首页 新闻 会员 周边 捐助

多服务器上的多数据库多表操作.如何保证数据的完整性.

0
悬赏园豆:5 [已解决问题] 解决于 2013-10-10 16:10

  如果只有一条SQL数据,那么可能不用考虑数据的完整性,只要考虑下逻辑是否正确就可以了。比如说给张三加100元不要加到李四头上就行。

  如果在同一个库里,对两张表或者多张表同时进行修改的话,那么用事务来控制下,这样也可以保证数据的完整性,要么都成功了,要么都不成功。

  现在难题是,数据嘛不在同一个数据库里,而数据库嘛又不在同一个服务器上。这样的话就比较坑爹了,但是又难免不会出现这样的情况。

  如果遇到这样的情况,各位是如何来保证数据的完整性的?

  很多时候,比如说,改完A服务器上的A库,需要接着改B服务器上的B库,结果在A库成功后,B库失败了,因此数据也不完整了。

  求各位大侠分享下各自遇到的这些坑爹的情况都是怎么解决的...谢谢哈

comeonfyz的主页 comeonfyz | 初学一级 | 园豆:14
提问于:2012-05-19 15:58
< >
分享
最佳答案
0

如上面几位所说,使用分布式事务可以完美解决这个问题,我之前就处理过。

参考:http://wangqingpei557.blog.51cto.com/1009349/748799

收获园豆:3
sharplizhi | 菜鸟二级 |园豆:366 | 2012-09-14 12:40
其他回答(4)
0

DTS  分布式事务

收获园豆:2
歼10 | 园豆:206 (菜鸟二级) | 2012-05-20 01:03
0

我觉得你想复杂了,比如Oracle就是可以把另一个服务器的库,当作自己的库来访问,通过数据库链路。就算不这么做,当用存储过程(匿名存储过程)执行时,也是要么全成功,要么全失败。如果加事务控制,也可以在存储过程里加回滚,以及一些事务控制语句。

这个问题,不能依赖应用程序编程语言,尽量使用数据库编程,个人觉得最容易,最安全。否则,访问次数太多不说,事务也不太容易控制……

船长&CAP | 园豆:318 (菜鸟二级) | 2012-05-20 01:05
0

DTS  分布式事务,可以解決N個不同的鏈接的數據庫,事務問題。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-20 12:25
0

分布式事务

小材小用 | 园豆:639 (小虾三级) | 2012-05-20 21:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册