在一个多客户端的软件中,如果服务器出现问题或线路出现故障,怎样保障客户端的软件短时间内(三、五天)照常运行。开发环境 VB2005+SQL2005.

解决方案 »

  1.   

    在客户端增加ACESS mdb数据数(三、五天的数据它足够用了),
    启动软件时自动侦测能否连接到远程SQL SERVER服务器,
    如果能,则保存数据时直接发往远程数据库保存;
    如果不能,则启动mdb数据库,这些数据暂时存贮在本地mdb数据库的表中,当侦测的能连接远程数据库时,先把这张临时表的记录发往远程数据库,然后删除这张表。
      

  2.   

    前提是每个记录必须能明确仅由某个单独客户端或某个相同局域网下的客户端进行增删改:
    1)通过记录中的客户端ID或局域网ID进行区分。
    2)如果某记录必须通过多个客户端、局域网分段修改,用一个阶段标志字段进行标记。再看硬件的分布情况:
    A)如果客户端是分组聚集的(多个局域网),这个比较简单
    每个局域网添一个 SQL Server 服务器,局域网客户端只连接该服务器。
    数据库直接通过数据发布实现,发布的数据通过局域网ID来区分下载还是上传。B)如果每个客户端独立,这就比较复杂了。
    客户端需要有一个小型数据库。
    定时(每天的第一次连上服务器)下载服务端的字典表到本地,无论是否连线程序始终用本地字典,这可以提高本地响应速度。
    记录的增删改始终在本地留一份备份,如果连线同时直接递交到服务器,如果断线则在本地记录中打上需要上传的标志(注意删除记录需要记下主键以便同步)。
    等下次恢复连线时,删除的记录和带有上传标志的增改记录递交到服务器。
      

  3.   

    只有用ACCESS了
    等故障排除的时候数据同步一下即可
    或者使用GSM Modem,但只能作为网络故障的一个备用通道.
      

  4.   

    两台服务器,比较靠谱!
    如果是业务类的软件,基础部分的数据量很大!
    如果用ACCESS文件型数据库,岂不是要同步更新基础数据!太不现实了!