2 t60wl T60wl 于 2014.04.14 13:27 提问

C# winfrom客户端sqllite数据库实时同步sqlserver

问题描述如下:

 系统背景如下:系统为wpf+sqllite数据库搭建的客户端程序,所有的数据都在客户端进行录入。现在使用系统的群体为医生,每一个医院有多个注册账号,每个医院的医生数据最后都要汇总在一起,现在我的架构设计是:sqllite数据库跟sqlserver数据库结构一摸一样。每张表都有一个guid字段作为同步的依据,表中分别有ISAdd,ISUpdate,IsDelete三个字段标识。ISADD=新增,ISUPdate=修改,ISdelete=删除。sqllite 数据库同步到sqlserver非常容易实现。每次筛选客户端ISAdd,ISUpdate,IsDelete值等于1的生成一个新结构的数据库文件。将生成后的新数据库文件通过代码模拟http上传。服务器写一个windows 的服务程序。实时的去数据库扫描是否有新上传的数据库文件。如果有文件,将文件数据全部写入sqllserver数据库。

根据guid分组删除前面已经存在的数据。最后通过注册医院账号将该医院的患者所有数据生成一个sqllite数据库。供刚刚上传的医院账号下载他们医院的所有数据。但是问题来了,sqllite数据库文件非常大有几十兆。各个医院的网络情况不一。有的限制了下载速度。想问问前辈们有什么好的解决方案吗?只要联网就实时同步。比如A医院的A账号录入了一个患者,他上传以后立马通知A医院的B账号,C账号自动更新数据。怎么判断客户端存在的数据不更新勒?只更新自己需要的数据。这里需要注意的是。医院的客户端大部分时间是脱网工作的。数据保存在客户端的sqllite.联网后自动更新,非常急.....

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!