客户需求:因为偶尔出差,希望在笔记本上可以处理数据。
    如果复制数据库到笔记本上,对笔记本上进行操作。这时笔记本上的数据就跟本地服务器的数据不一致。不知道哪位“大虾”有好的解决方案?

解决方案 »

  1.   

    可以这样写.加一个字段,它对数据是否更新进行一个设置,如果更新的话.可以直接进行UPDATE
      

  2.   

    to jacobran() :
       如果加一个字段判断是否上传了,这样不容易区分。。
    因为是本地的库不需要上传如何,还有即使可以成功上传,
    还有些冲突的数据如何处理?如笔记本上修改了,本地服务器也修改了。。
      

  3.   

    如果真如你说的那样.两个不在一起的数据库都在进行同一笔数据更新的话.那么你的数据库是不正确的.至少你要保证一个是最正确的,其它的是错.Mail:[email protected]
      

  4.   

    可以这样.首先建意去看看<Delphi.5.X.ADO.MTS.COM+高级程序设计篇>这本电子图书.
    BatchUpdate除了可以用来开发一般的应用程序之外,还可以开发所谓的
    Briefcse模型的应用程序。Birefcase模型的应用程序是指客户端应用程序在从数据
    源取得数据之后,便可以和数据源切断连接,然后独立的工作。客户端可以对于
    数据进行任意修改,甚至是把数据暂时储存在客户端的文件中。稍后当客户端再
    和数据源连接时,客户端可以把在这段时间中对于数据的修改再更新回数据源中,
    客户端不会损失任何在断线期间修改的数据。我们可以把源数据读到客户端来,之后在客户端保存(XML),要拿去笔记本上时,只需要把XML在读出来,读出来的数据状态和客户端那时一模一样.如果需要把修改的数据记录更新到数据库,只需要保存到数据库就行了.这就是Briefcase模型的典型应用.具体可以看<Delphi.5.X.ADO.MTS.COM+高级程序设计篇>.
      

  5.   

    to GARNETT2183(極品狼王):
       谢谢!
       应用程序是指客户端应用程序在从数据源取得数据之后便可以和数据源切断连接,然后独立的工作。
       
       这种方式我知道一些,Birefcase模型应该适合少量的数据表的操作。如果真的这样的话每个表都必须导成XML的形式,因为数据操作不可能只有一两个表,这样不大现实。不知道你没有这样做过系统。   因为这种方式可以保留数据的状态,所以可以导入数据集中直接更新入库。
      但是操作的数据多了难免会有些数据冲突等问题,还有就是不能把数据及时地更新入库,造成信息不及时。如在类别表上新增一条记录,其它的数据表引用如产品选择类别资料就出现了状况。。
      冲突的数据可以返回数据库中的记录和将要更新的数据进行对比。但是每个表都从把XML导入这工作量也太惊人了吧!
      

  6.   

    其实这个问题在商业系统中是常见的,零售系统中分前台后台,如果设计不好常常有前台后台数据不统一的情况,
    主要的解决方法是在系统设计时就避开这样陷阱,前台(客户端)和后台(服务器在线)输入的同类数据分别给不同的标志位;
    在系统设计方面问题解决后,相关数据库产品有一些数据同步的技术,比如SYBASE的数据同步技术就非常强大,可解决一些技术层面问题,比如:传输错误,数据压缩,网络不稳定导致的数据传输中断等等;
    也想看其他高手有什么好的解决方法。:)
      

  7.   

    实际上还有种更直接的方法;
    服务器端 建立VPN服务,笔记本拨号访问,直接C/S,或者其他都可以