用DBArtisan吧!
很好用的。

解决方案 »

  1.   

    如果是小数据库,文件型那种,就直接COPYFILE得了....恢复的时候再对数据做一下判断,逐条记录判断
      

  2.   

    把数据分成数据块,块首是块的长度、表的名字、表的结构、导出/备份的记录数等信息;然后是很多个数据子块,每个子块包括子块长度、若干个〈类型,长度,值〉。注意,要为NULL定义一种类型。
    然后用程序把要导出的数据读出来,写成这种格式的数据,存到一个文件里。再做一段程序负责把文件中的数据读出来,写到数据库中。
      

  3.   

    我用的数据库是SQL Server的,涉及到20张左右的表,小弟还要请教一下:
    〈1〉若采用文件形式的备份,有什么简单一点的方法吗?
    〈2〉能不能利用SQL Server备份数据库的功能来对我的数据库在应用程序里面进行备份?
      

  4.   

    提示一下:
    用ADOCOMMAND
    T-sql:
    ‘BACKUP DATABASE ’
    'RESTORE DATABASE ’
    不过备份文件只能存放在SQL Server所在主机硬盘
      

  5.   

    楼上说的是整个数据库文件的备份和恢复。
    如果你仅仅想备份或者恢复部分表或者有选择的记录,
    你可以ADO控件或者ClientDataSet的SaveToFile方法。
    只是每一个都存为了一个单一的文件。
    不过你可以将相关的文件压缩为一个zip文件,好分类管理
      

  6.   

    备份可以自己做。它不爱数据库路径、文件大小、位置乃至数据库版本 的影响。文件内容小,恢复速度快,支持远程……
    我正准备做一个这样的工具(SQL SERVER 版)。大致思路是将数据库结构及数据导出为文件,恢复时重新导入即可。介于你的情况,建议你使用BCP 将数据备份出来,再进行恢复。
    写两个批处理文件即可。
      

  7.   

    //备份数据库到指定文件
    procedure TBfhfForm.BackUpDb(AFileName: string);
    begin
      with CommonDataModule.adocDataMana do
      try
        Animate1.Visible := True;
        CommandText := 'BACKUP DATABASE ' +
          CommonDataModule.adonGTJ.DefaultDatabase + ' TO DISK = ' +
          QuotedStr(AFileName) + ' WITH INIT';
        Execute;
        Animate1.Visible := False;
        ShowMsg('数据备份成功', '提示');
      except
        Animate1.Visible := False;
        ShowMsg('数据备份失败', '提示');
      end;
    end;