求一个三层数据库系统解决方案:服务器与客户端在一个网络内,并且各自都有自己的数据库,当发生断网时客户端所产生的数据要保存在客户端本地,连接正常时再更新回服务器

解决方案 »

  1.   

    用TClientDataSet给你一个连接,是查询的.原理一样,你可以参考.
    http://book.csdn.net/bookfiles/155/1001556670.shtml
      

  2.   

    我看过雅芳分销商的POS系统,早上开机做一次数据交换,主要是下载报价之类的信息,白天销售数据就在本地做,然后晚上再交换一次数据,主要是上传销售数据。但是我认为早晨与晚上的数据是同一动作,只是起到的作用不同。
    你要用这种方式来实现客户机和服务器的数据统一的话,数据交换这个动作要好好规划。
      

  3.   

    我也来说一种方案。
    因为你这种情况只是在断网的情况下会发生,那么可以这么做:当客户端向服务器提交数据的时候(ApplyUpdate()),如果遇到异常,
    那么把记录保存在本地,
    同时记录日志,比如记录麽个表的某几条数据没有更新成功。然后在下次启动客户端程序的时候(时间可以随意定,也可以做个按钮随时进行)进行判断,
    如果有上次没更新成功的记录,那么先进行更新,再进行其他的业务。更新成功之后删除(或者添加一个标记)日志记录,以免下次还要从新更新。这只是一种思路,并不算严谨,具体的还要和你的业务联系起来做。