在需要导出导入的表中增加一“最后编辑时间”字段。
A、B...每次按照时间导出(可用注册表记录上次导出的时间,这样可缩小导出数据库的大小),Z导入时需对A、B、...的数据库逐个核对(应该是新内容居多!)可行?
建议:1、增加“痕迹记录”字段,记录该条内容编辑记录,很好的管理方法!
     2、所有记录不可删除(可作废),便于管理!

解决方案 »

  1.   

    我有个不算聪明的想法
    1,你可以把数据库的数据写到一系列文本文件中 如
    a1.txt  包含1-1000的数据项
    a2.txt  包含1000-2000的数据
    ....
    这样数据库就可以分成很多小文件, z用户再根据文本文件中的数据写入数据库
    2,如果只有一小部分数据更新,就只需要向z用户发送包含更新的文本文件[email protected]
      

  2.   

    增加一个最后编辑时间字段,修改记录时更新它。每个用户记录自己发送的最后时间,用SQL语言检查最近更新过的记录,另存为一个数据库文件。(ZIP压缩可编程完成或手工完成。)
    用户Z的程序的导入模块,可以用SQL语言一次性添加到基本数据库中,很快的。记着多看看SQL语言参考和dao的说明。
      

  3.   

    其實可以用 SQL-server 
    如果用ACCESS ,
     1 , 增加2個字段 , "最後一次備份的時間" ,
         "最後一次修改的時間"  , 每一次修改都要更新這個字段
     2 , 要向Z提交時, 可以寫一個工具 , 只把  
         最後一次修改的時間 在 最後一次備份的時間 之後的紀錄寫入一個Txt文件
         中 (這是因為txt壓縮比率很大, 格式可以自己定),壓縮 , copy to A:
     3 , Z導入數據時 , 再寫個工具讀入自己定義格式的txt的內容 , 刷新z 的數據
     4 , 如果刷新成功 ,再在數據提供者的數據庫 , 更新 "最後一次備份的時間"
    考慮不週的地方 , 望指證!
      

  4.   

    hwmys(合适软件) :其实我也是这么想的:把导出成功的做个记号,把从源数据库拷贝到磁盘的时候就只拷贝没有记号的。到目录电脑上拷贝时,把这次导出成功的记录做一个记号,再把磁盘拿回到A、B、C自己的电脑上,把本次导出成功的在源数据库中再做个记号,可不可以?
      

  5.   

    看你的意思是z光接收数据,不更新,a,b,c,d....更新数据,定时传到z
    这样的话:
    1、a,b,c,d...每个需要传送的表有一个唯一性关键字,跟z表相应的关键字对应
    2、a,b,c,d...每个需要传送的表设一个布尔型字段iscopy,默认为False
    3、修改程序,每次更新数据时将相应的记录设置iscopy=false
    4、每次拷贝前用一个查询:SELECT .... INTO tmptable FROM a where not iscopy,生成临时表,记得包含关键字。
    5、表中所有记录的(UPDATE a SET iscopy=ture)
    6、拷贝生成的临时表到z,根据关键字更新z中的表(两个查询就可以搞定,一个update,一个insert,不需要代码一条条记录去写,建议多看看sql语句的用法)
      

  6.   

    当然可以,不过这样做确实麻烦得很。简单的对等网就可实现(只用一个HUB,不需服务器,将网上邻居的数据库目录映射为驱动器目录,很方便的!)可能我无法理解你的思路,能否举例说明?
      

  7.   

    大家都说做个网络就行了。但是我们公司的OA可能在今年年底搞好。所以现在要做一个网络就做重复了。
    好多人关心我啊!我真是幸福S了!如果可能的话我恨不着每个人都送100分!
    我要下班回家了。回家再慢慢领悟你们的贴子。改天再来感谢!
      

  8.   

    再次祝大家新年好!
    Happy new year!
      

  9.   

    如果我在需要导出导入的表中增加一“最后编辑时间”字段。
    是不是在导出到Z的电脑中后需要再把ABC的数据库再拿回到自己的机子上校验。比如说在自己的数据库中把导出成功的再做个记号。这样才能万无一失。大家说对不对?
      

  10.   

    如果是双向交换,需要“最后编辑时间”,如果是单向,只需要一个标志
    建议数据尽量单点维护,否则很容易乱掉,好几个站点的用户同时修改一条记录,复制的时候,总有人要丢数据。
    确实两边都要改的,可以这样:Z站点建几个表A、B、C......,专门负责接收哥哥机器的数据,而不是直接覆盖目的表,然后编程对各个表汇总,可以加入冲突检测等逻辑判断,对数据库今后的维护也很有好处。