异地数据共享、同步,网络数据库应用开发经验大总结,发放开发平台!! ( 积分: 200 )

  • 主题发起人 差不多算了
  • 开始时间
联系我QQ:67189250
 
楼主,hfghfghfg:
我想知道你们是怎样解决“智能”下载的问题,比如一个表,客户端已经全部下载,然后服务端修改了表的某一部分数据,客户端再次下载的话,应该只下载修改后的那部分数据,你们是怎样解决的?如何判断哪些数据是要下载的?
 
写个触发器不就行了,修改时间字段为当前时间,然后用时间字段来判断是否为最新的数据。客户端把时间也一同下载了,就可以了。
 
触发器不行,一来影响性能,二来不安全,如果触发器丢失了,系统是不会报告任何异常的[:(]。用时间字段也不可靠,因为很难保证电脑的时间是正确的,如果有人修改了电脑时间,那就很糟糕了。
还有,客户端也会修改数据的,如果两个客户端同时修改一条记录,并且需要上传,如果后传的客户端记录时间小于先传的客户端记录时间,那么后传的记录将不会被服务器接受,而这种情况是不允许的。如果服务器无条件接受更新,那么先传的客户端,再次下载数据的时候,就有可能会错过最新的记录。
 
恩,说的有道理,我没仔细研究过这个问题
 
怎么不理老乡了呢?不够意思
 
先领一份再说 mirikjoyce@yahoo.com.cn
 
to: ego
提的问题很实际,看来认真考虑过或实践过,这个问题不是很好处理,至少目前为止我还没发现比较通用的很完美的方案策略,这就是怎样取得差异数据, 不过数据库本身是如何做的?
如果能深度利用数据库日志是比较好的方向,但在实际中对于Sql server 来说,很难利用日志文件,也缺少这方面的资料介绍...
所以目前只能利用一些临时方法来处理,效率和性可能会不太高...
告诉一个可用的sql server的特性, 如:可充分利用 "时间戳"字段来实现区分新旧记录
 
我正好遇到这样的问题
689222@163.com
12052039@QQ.com
 
提供下载了,不愿意发邮件,比较麻烦。
 
另开下载贴:http://www.delphibbs.com/delphibbs/dispq.asp?lid=3269152
 
好东西,收藏
 
无限制版本下载。
 
顶部