我想做一个系统,请大家出主意,如何解决数据的导入导出功能?
是这样的,我开发的是基于sql2000的网络版,这个系统要装在多个部门,这些部门有上下级关系。
每个月上级都要将这个月的数据报到总部门,[目前考虑只有两级,也就是一个总公司,三个分公司],每月三个分公司要将数据报到总公司。也就是要总公司的数据库保存三个公司的全部数据。可是三个部门无法连入一个局网,如果要远程操作总公司的数据库好象也不现实。[因为如果这样总公司的数据库就要接入互联网是不是呀?可是那样就要做一个网站呀,所以目前达不到,所以只想采取每个月上报数据的方式],可是如何实现将分公司的数据从sql server中的数据导出,然后再导入到总分司的数据库中呀?
1。功能要通过系统来实现,不能用excel的格式,或者用也行,但是操作要简单,做到点一个导出按钮或导入按钮就可以完成操作。
2。导入导出一般用什么格式好呀?文本?xml?还是excel?还有什么?
3。我说的这种情况,还有什么比较好的处理办法么?
4。要实现总分司的数据库是三个分公司数据总和,是不是只能一个月同步一次呀?要想随时同步能解决吗?
谢谢,

解决方案 »

  1.   

    在三个子公司的数据库里做工作调度,每个月的一号凌晨就做数据备份将上个月的数据分离出来并保存到文件,把文件送到总公司后再还原。。但要做好四个数据库的规划:1。功能要通过系统来实现,不能用excel的格式,或者用也行,但是操作要简单,做到点一个导出按钮或导入按钮就可以完成操作。
    =====================
    只是调用sql server的备份、还原命令,没什么好说的。。2。导入导出一般用什么格式好呀?文本?xml?还是excel?还有什么?
    ==================
    用回sql server的备份格式,好像是一个ldf文件和一个mdf文件记不清了。。3。我说的这种情况,还有什么比较好的处理办法么?
    =====================
    网络环境不允许就是很麻烦。。
    4。要实现总分司的数据库是三个分公司数据总和,是不是只能一个月同步一次呀?要想随时同步能解决吗?
    =================
    这种方法称为同步真是很勉强。不过倒是喜欢一天搞一次也可以,如果能解决网络问题就可以让sql server自己同步了。。
      

  2.   

    用回sql server的备份格式,好像是一个ldf文件和一个mdf文件记不清了。。
    ====================
    不能通过数据库自本的备份功能的。因为操作者是不会操作数据库的。这个功能要写在程序中,即数据导入,和数据导出功能。总不能让操作者也去学习sql server的使用呀。
    关键是导入导出有什么文件格式?
      

  3.   

    不能通过数据库自本的备份功能的。因为操作者是不会操作数据库的。这个功能要写在程序中,即数据导入,和数据导出功能。总不能让操作者也去学习sql server的使用呀。
    关键是导入导出有什么文件格式?
    ========================
    ???????用户何必要学习sql server????全部操作都是通过你的程序调用sql命令完成的,用户只知道按了一下按钮后会生成了那两个备份文件并把他们送到总公司就是了。到了总公司后,还原的操作一样是通过你的程序调用sql命令完成的至于在vb中如何备份、还原sql数据库,可以参考邹建兄的《VB实现SQL Server数据库备份/恢复》:
    http://lib.tongyi.net/VB/1016148.html
      

  4.   

    SQL中可以用这样的方式
    1 建立远程链接服务器   --这一步很重要 
    2 建表时加标识列       -- 方便记录分类
    3 对要同步的表做临时表,并在要同步的表中做触发器,将新记录插入临时表中  --得到新数据
    4 记录每次记录的最新记录号到统一的表中     -- 做历史记录
    5 建立计划任务,实现数据表之前的互导        --自动实现agent服务要开
    6 接口程序调用任务计划实现                  --留接口
      

  5.   

    谢谢,再顶一次。
    因为总公司和分公司都是同样结构的数据库,只不过总公司要存贮三个公司全部的数据,而子公司只存贮自已公司的数据。理论上总公司的数据是三个子公司的数据之和。具体说,比如有一个表,主键有:id,名称,等等。
    a公司:
    001,ghghghgh
    003,jhfdj
    005,fkdsajf
    b公司:
    242,jfk;adsjf
    345,fasdjf
    544,fkladjsf;
    c公司:
    543,jfksadjf
    783,jfkldas
    893,jfkadjsf
    则总公司就应为:
    001,ghghghgh
    003,jhfdj
    005,fkdsajf242,jfk;adsjf
    345,fasdjf
    544,fkladjsf;243,jfksadjf
    783,jfkldas
    893,jfkadjsf
    如果每个子公司有增加,总公司也要反映出来。
    如果每个月都有增加也没问题,只把增加的导入到总公司就行。
    可是如果子公司对已经修改过的数据也要导入到总公司的数据库中,所以又涉及到如何更新已有记录的问题,所有没有思路。