我之前做的时候是用SQLite和webService,当时主要是为了数据的及时性,我做的是超市存取柜那种,所以及时性很高,客户刷了卡后如果去服务器找数据会很慢,就用SQLite了,然后每50秒同步一次数据,网络不正常的时候就先放本地,等正常再同步,其实同步不会太难,就是注意一下增删改逻辑,在本里的表里多几个标识字段,比如 该条数据 是否已更改,是否已成功同步,是否是新加数据,等等。。
构造合适的DTO,在本地保存,有网络将DTO 通过 WCF 进行同步
之前有知道过Sqlserver有对这种离线程序的解决方案··我的需求将本地离线添加的数据增加到数据库中。还有就是将本地数据进行更新··所以这里会存在一些数据同步的难题。是否会存在 一些SQLLite轻量级数据库和SQLserver同步的机制·或者其他··
@xiaoZz: 自己写代码控制较好
本地自己保存成自己想要的数据格式或是用简单的数据库如sqllite。access等。
在有网络的时候通过wcf或WebService或其他方式同步到服务器就ok了吧。
我也有这种想法··轻量级数据库和SQLServer的同步机制有没有现成的解决方案··还是得自己写代码啊·
记录数据到缓存,并且在本地记录到一份文件中(如XML),在网络联通的时候把数据同步过去
XML也考虑过··我的需求存在 客户端和服务器 双方相互同步数据的情况。我需要判断数据是否在双方都是是否存在。table 对 table会更好操作 如果是 xml对table操作起来 或者数据量打起来的话 是不是有些够呛···
@xiaoZz: 不然只能搞个轻量级的数据库做中转了。
一般是不管连不连网所有写入都先本地保存,然后如果有网络,就写入到远程服务器,过程类似数据库日志的原理。本地保存可以Dataset序列化、用mdb或者用sqlce。
这种模式一般移动应用上用,PDA客户端上以前好多这种程序,但现在也很少了,现在哪儿连不上网啊。
以前微软老推的那个Smart Client就是讲用这种模式写代码,但是,明显不符合发展趋势,想想google所有的应用都是必须联网的。
关键是存在 我需要把客户端不存在的数据从服务器上拉过来··客户端新增的数据推送给服务器。。这其中会存在 exists 和 not exists的问题 我就是想找一种 轻量级别的桌面数据库和服务器数据库之间同步的机制··