主题:delphi实现sql server数据库恢复
try
QryRDB:=TADOQuery.Create(Nil);
QryRDB.Connection:=ADOConnection1;
RestoreDatabaseFrm.Caption:='Database restoring...';
with QryRDB do
begin
Close; //切断数据库连接
SQL.Clear;
SQL.Add('ALTER DATABASE RedStar SET OFFLINE WITH ROLLBACK IMMEDIATE');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('Restore Database RedStar From Disk=:a With Replace');
Parameters[0].Value:=edt_DBPath.Text;
ExecSQL;
martin_messagebox(RS_INF_RestoreSaveOk,0);
RestoreDatabaseFrm.Caption:='Restore Database';
end;
finally
ADOConnection1.Connected:=False;
ADOConnection1.Close;
QryRDB.Free;
end;
这是我写的程序,可以恢复。但是恢复完后,访问别的数据就提示:连接失败,关闭应用程序后,又可以访问了,请各位高手麻烦在我写的程序上给指点一下,怎样恢复完后不用关闭应用程序就可以访问别的数据呢!!!
QryRDB:=TADOQuery.Create(Nil);
QryRDB.Connection:=ADOConnection1;
RestoreDatabaseFrm.Caption:='Database restoring...';
with QryRDB do
begin
Close; //切断数据库连接
SQL.Clear;
SQL.Add('ALTER DATABASE RedStar SET OFFLINE WITH ROLLBACK IMMEDIATE');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('Restore Database RedStar From Disk=:a With Replace');
Parameters[0].Value:=edt_DBPath.Text;
ExecSQL;
martin_messagebox(RS_INF_RestoreSaveOk,0);
RestoreDatabaseFrm.Caption:='Restore Database';
end;
finally
ADOConnection1.Connected:=False;
ADOConnection1.Close;
QryRDB.Free;
end;
这是我写的程序,可以恢复。但是恢复完后,访问别的数据就提示:连接失败,关闭应用程序后,又可以访问了,请各位高手麻烦在我写的程序上给指点一下,怎样恢复完后不用关闭应用程序就可以访问别的数据呢!!!