oracle没碰过,给个sql 2000参考,估计思路差不多用query1.sql.add('create database photo'); query1.execsql //创建photo数据库备份数据库语句:backup database 原库 to disk='d:\backup' with name='backup database' execsql 还原数据库: restore database photo from disk='d:\backup ' with recovery execsql
可以參考一下﹕procedure TForm1.Button1Click(Sender: TObject); begin adoconnection1.Connected:=true; adoquery1.Close; adoquery1.SQL.Clear; application.ProcessMessages(); try adoquery1.SQL.Add('backup database kxytest to disk='+#39+'f:\kxydata.dat'+#39); adoquery1.ExecSQL; except exit; end; end;procedure TForm1.Button2Click(Sender: TObject); var str:string; begin adoconnection1.connected:=false; //str:='restore database kxytest from disk ="f:\kxydata.dat" with replace'; adoquery1.Close; adoquery1.SQL.Clear; // 'ALTER DATABASE DataBaseName SET OFFLINE WITH ROLLBACK IMMEDIATE'; adoquery2.SQL.Add('alter database kxytest set offline with rollback immediate'); adoquery2.ExecSQL; adoquery1.SQL.Add('restore database kxytest from disk='+#39+'f:\kxydata.dat'+'with replace'+#39); adoquery1.ExecSQL; adoquery2.SQL.Add('alter database kxytest set online with rollback immediate'); adoquery2.ExecSQL; adoconnection1.Connected:=true;end;
query1.execsql //创建photo数据库备份数据库语句:backup database 原库 to disk='d:\backup' with name='backup database'
execsql
还原数据库: restore database photo from disk='d:\backup ' with recovery
execsql
begin
adoconnection1.Connected:=true; adoquery1.Close;
adoquery1.SQL.Clear;
application.ProcessMessages();
try
adoquery1.SQL.Add('backup database kxytest to disk='+#39+'f:\kxydata.dat'+#39);
adoquery1.ExecSQL;
except
exit; end;
end;procedure TForm1.Button2Click(Sender: TObject);
var str:string;
begin
adoconnection1.connected:=false;
//str:='restore database kxytest from disk ="f:\kxydata.dat" with replace';
adoquery1.Close;
adoquery1.SQL.Clear;
// 'ALTER DATABASE DataBaseName SET OFFLINE WITH ROLLBACK IMMEDIATE'; adoquery2.SQL.Add('alter database kxytest set offline with rollback immediate');
adoquery2.ExecSQL; adoquery1.SQL.Add('restore database kxytest from disk='+#39+'f:\kxydata.dat'+'with replace'+#39);
adoquery1.ExecSQL; adoquery2.SQL.Add('alter database kxytest set online with rollback immediate');
adoquery2.ExecSQL; adoconnection1.Connected:=true;end;
TClientdataset.savetofile();
恢复
TClientdataset.Loadfromfile();
一条一条插入
query1.append;
query1.fieldbyname(...).asstring := Clientdataset.fieldbyname(...).asstring;
...
query1.post;
还原数据库: restore database photo from disk='d:\backup ' with recovery