三层结构中,如果几个客户段在同时提交一段数据,服务端如何保证数据的一致性??(100分)

  • 主题发起人 主题发起人 blackfiles
  • 开始时间 开始时间
B

blackfiles

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层结构中,客户端是先从服务器把数据下载在本地,修改后,通过ApplyUpdates
再提交到服务器中,
那么,如果同时有几个客户端,下载了同样的数据修改,再ApplyUpdates到服务器,那么数据就不能保证一致了。
那么怎样能做到,按先后顺序读取数据再修改提交呢??
请问怎样解决这个问题????
 
如果你的中间层的更新是写在一个事务中的话,第一个更新的客户端成功,后面的更新
(同一记录)失败。我实验过。
提交时有delta属性来保证!
 
To createnew:
可不可以具体说说,你怎么实现的??? 谢谢。
是在服务端的DataSetProvider1UpdateData事件里,用事务么?
 
如要获得较好的效率:
在建立MTS的DM时,选择支持事务,
在更新的接口中选择需要事务,
在查询的接口中选择不需事务。
在更新时,系统会自动开始一个事务,系统在更新前比较值是否和更新前一致,
如不一致:Rollback,否则继续其它更新操作,都正确:Commit。
在以上的三层中好象可以这样认为:
系统自动开始trans begin
SetAbort = Rollback;
SetComplute = Commit;
[8D]
 
试一试先。
 
后退
顶部