用delphi编写一个根据日期备份数据库的程序,这个东东,怎么下手呢,劳驾中国的前辈指点一下后辈,谢谢.

解决方案 »

  1.   

    没有必要设计程序,可以直接在SQL Server 中使用备份计划.
      

  2.   

    procedure  backupdata;//备份数据库  
    begin  
           if  mfile.Text<>''  then  
           begin  
               try  
                   ADOcon1.Execute('BACKUP  DATABASE  yourdatabasename  TO  DISK='+Quotedstr(mfile.Text));  
                   ShowMessage('数据库备份成功!');  
                   Close;  
               except  
                   ADOcon.Cancel;  
                   ShowMessage('数据库备份失败,请稍后!');  
               end;  
           end  
           else  ShowMessage('请选择备份路径!');  
    end;  
    ===========================================  
    procedure  restoredata;    //恢复数据库  
    begin  
     if  mfile.Text<>''  then  
           begin  
               if  Application.MessageBox('  数据将恢复到备份时的状态,最新的变动可能会丢失!你确定要恢复吗?',  
                         '恢复',MB_YESNO+MB_ICONQUESTION)=IDYES  then  
               try  
                   ADOcon1.Execute('RESTORE  DATABASE  yourdatabasename  FROM  DISK='+Quotedstr(mfile.Text)+'with  replace');  
                   ShowMessage('数据库恢复成功!');  
               except  
                   ShowMessage('数据库恢复失败,请稍后!');  
               end;  
           end  
           else  ShowMessage('请选择备份的文件!');  
    end;    //恢复时要注意恢复时你现有的数据库路径是否与备份文件的一致!
      

  3.   

    建议:按关键字“备份”在CSDN里搜索....
      

  4.   

    我的意思是要根据日期备份oracle数据库里的数据,就是用 exp user/password@oracserver owner=user file=d:\....,命令来生成一个后缀为.cmd的程序.根据日期来备份!!!!!!!!!!
      

  5.   

    最新要求是把exp命令放到批处理文件中,然后每次点击备份命令后自动生成aa20050312.dmp,第二天备份时生成aa20050313.dmp,这样以日期作为文件名.
      

  6.   

    SQLSERVER支持每天定时备份的功能
      

  7.   

    简单点说
    建sql server任务阿,用
    sp_add_job和sp_add_jobschedule,然后运行ms agent
      

  8.   

    我的数据库是oracle的!我现在已经实现了第一步,大家一起做这个小程序,代码如下var
      HndFile:Integer;
      sDate:string;
      sTate:TTime;l
      myname:string;
    begin
      tDate:=Now();
      sDate:=DateTimeToStr(tDate);
    myn an//
      ma;;//.去掉这两行
      mmyname:=sDate+'.dmp';
      HndFile:=FileCreate('oracle_bak.bat')
      FileWret//去掉,奇怪我在编写的时候为什么会只能前进不能后退呢
      FileWrite(HdndFile,'exp ibm2/password@oraclserver owner=ibsm2 file=%1',length('exp ibb...'))
      FileClose(HndFile);
      WinExc(pachar('./oracle_bak.bat'_+myname),sw_show)
    end;
      

  9.   

    修正一下上面的代码,
    var
      HndFile:Integer;
      sDate:string;
      sTate:TTime;l
      myname:string;
    begin
      tDate:=Now();
      sDate:=DateTimeToStr(tDate);
      myname:=sDate+'.dmp';
      HndFile:=FileCreate('oracle_bak.bat')
      FileWrite(HndFile,'exp ibm2/password@oraclserver owner=ibm2 file=%1',length('exp ibm2/password@oraclserver owner=ibm2 file=%1'))
      FileClose(HndFile);
      WinExc(pchar('.\oracle_bak.bat'+myname),sw_show)
    end;这段程序可以根据当前的日期备份成一个以当前日期为名字的数据备份文件,现在要改进程序,使该程序具有根据选定日期来备份生成一个以选定日期为名的oracle数据备份,并还具有保存一些设置功能的生成ini文件.大家一起来,我做出来就发上来.
      

  10.   

    借貴地一用!
    http://community.csdn.net/Expert/topic/3844/3844330.xml?temp=.2971613
      

  11.   

    oracle,我不会,SQL要到可以帮你
    帮你顶