T60wl 2014-04-14 05:27
浏览 2822

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.联网后自动更新,非常急.....

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 自己瞎改改,结果现在又运行不了了
    • ¥15 链式存储应该如何解决