Claro que lo he probado por ejemplo:
Tengo una base de datos llamada
Prueba a la que me conecto cuando abro la aplicacion cliente, esto mediante TADOConnection, ahora cuando quiero restuarla cierro la conexión y abro una conexion mediante otro TADOConnection a la BD
Master donde tengo un procedimiento almacenado llamado restaura
Código SQL
[-]
CREATE PROCEDURE Restaura @n varchar(200) AS
begin
restore database Prueba from disk= @n with RECOVERY , REPLACE
end
GO
esto lo hago de esta forma
Código Delphi
[-]
procedure TFRest.BitBtnAClick(Sender: TObject);
begin
inherited;
if od.Execute then begin dm.adoc.Close; adom.Open; Restaura.Parameters.ParamByName('@n').Value := od.FileName; Label1.Caption := 'Restaurando ...';
BitbtnC.Visible := False;
BitbtnA.Visible := False;
Update;
try
Restuara.ExecProc; finally
adom.Close; dm.adoc.Open; Close;
end;
end;
end;
El problema esta que siempre me dice que falla porque no tengo una conexion exclusiva con la DB y ésta está en uso, sin embargo desde el
SQL Query Analizer si funciona
Dime si ves que estoy haciendo mal ?