最近开发了一套程序 是单机版  采用ACCESS 使用者(经销商)在全国各地, 因为这样客户即使没有上网环境单机就可以运行。然后有一个服务器端(总部使用),采用SQL数据库,每10天要对经销商的情况进行考核。 所以经销商要上传数据,经销商数据库中有标记,0:表示新添加数据未上传 1 :表示已上传  2:表示修改 每次由数据上传程序 根据标记 生成相应的 SQL 语句  比如insert  update  语句等。  对语句进行加密并进行压缩。上传到FTP中(每个经销商都有独立的用户名和密码)每次到考核的时间  总部 用数据更新程序  下载经销商上传的数据文件  解压并解密 然后再用程序将其中SQL语句执行一下
达到数据上传的目的。 大体流程就是这样的。  问题来了!现在发现的问题有 1.如果经销商程序没有了  新安装的程序 之前上传的客户信息后续状态 无法继续更新2. 数据更新后   查询不到  临时没发现什么原因。(可能是BUG 导致)3.还有其他一些问题  也说不清楚想请教各位前辈,有开发过类似程序的看到一定要帮下忙啊。有什么办法能实现   经销商程序上传的程序   与服务器端更新后的数据同步。或者这种方法  的改进建议   。还有其他实现类似功能的方法吗?

解决方案 »

  1.   

    我做过类似的项目.开始也是用你的方法.同样存在问题(主要是程序的BUG,有时是线路通讯问题),当初的解决方案是每个月生成一个核对表,但工作量大.
    后来采用的方法是将数据导成excel格式进行传送,这样便与交换数据(当然excel也可加密的),用execl导入数据库出错的几率要比原来直接用SQL小得多
    当然现在的环境可以采用BS(当然软件升级式作量较大),或直接用VPN,这样可以实时传送及检查.
      

  2.   

    In SQL SERVER,I have solution
    **WUBI trouble,can't type chinese
      

  3.   

    每个点的记录含有记录id,服务器保存好每个点已传的最大记录id
      

  4.   

    上传数据就可以了,为啥要上传SQL语句?
      

  5.   

    我认为是你这设计有问题哦,为什么不直接更新进数据库,或是直接传数据,为什么要生成sql再上传?
      

  6.   

    我认为是你这设计有问题哦,为什么不直接更新进数据库,或是直接传数据,为什么要生成sql再上传?
      

  7.   

    谢谢keiy的建议。VPN 不考虑 价格高 还不稳定。
     改为BS固然好,上传数据都免了。我考虑过   我也有类似用C# 做的BS模式软件,但是如果客户没有网络环境软件也就用不了了。因为以后用户比较多  所以对服务器并发处理要求比较高。所以服务器的成本要很高(我对服务器价格不了解)。所以这样一来程序到没什么。服务器价格可能客户接受不了。
    主要就是价格问题,价格高了 用户直接放弃不用程序了。用EXCEL的话,我一次上传多个表,有客户信息表 还有其他相关的9个相关信息表。我理解并考虑后---
    生成EXCEL 就要生成10个EXCEL文件吧?  或者说下您的详细方法与思路?------------------------------------------------------------------------
    TO:zhzhrony
     我认为是你这设计有问题哦,为什么不直接更新进数据库,或是直接传数据,为什么要生成sql再上传?
     
     
    回答一下:  首先客户分布很广  在每个城市都有。  而且软件要求单机运行  就是在不连接任何网络情况下运行。而总部的数据库在我们这边的总公司,  没有任何网络的情况下连接不到总部的数据库  所以程序运行都运行不了。  这是一个广域的概念   一个总部的数据库是主要的  其余可能有200个客户都在单机使用 也就是说 200个 ACCESS 数据库都要生成数据文件通过上传FTP 然后总部在通过FTP这个中介下载数据文件进行更新的  是这么一个情况-------------------------------------------------------------
    TO:sz_haitao
    每个点的记录含有记录id,服务器保存好每个点已传的最大记录id我考虑了一下这种方法用我现在生成SQL语句的方法不行的。
    用Excel 作为数据源的话倒是可以总之 要完全实现BS这种数据同步的问题  还真是一个大难题。