目前有这样一项目(asp.net+sql2005) :总部 部署一套程序分部1 部署一套程序
分部2 部署一套程序
分部3 部署一套程序
.....
分部n 部署一套程序总部的程序和分部的程序、数据库是完全一致的.
各个分部的数据导出(access),传给总部并导入数据库.
现在出问的问题是 分部1 第一次导出数据传给总部.总部可能会修改、删除、添加分部1的数据,
               分部1 第二次在导出数据(数据中包括第一次导出的数据,也可能对第一次导出数据做过修改,也添加了一部分新数据)传给总部,总部怎么向数据库导入的时候,做一些判断
                 
                 数据量非常的大的,有什么好的解决方案吗?

解决方案 »

  1.   

    法1:先建索引 再在表中附加一个int型分部标识号和一个bit型修改标识字段(如0表示未修改 1表示已修改) 判断时用select 1 from tableName where [part]=1 and [label]=1 --and other option
    法2:建立一个表record 每当总机操作时就将记录分部标识和修改ID 操作类型标识(如修改、删除分别0、1)等记录到record中 导入前先检索此表 因access不支持触发器所以要由程序实现 此法在总部机器修改、删除操作越少性能越优越
      

  2.   


    前段时间正好开发了一个这样的东西,一个大的交换平台,下面挂了一堆子系统,要求各子系统数据和中央数据库同步,我们的实现办法是:
    各子系统更改数据通过WebService提交至中央数据库,中央数据库会对本地数据做相应数据,并会逐一去CallBack其他子系统,以保证数据同步