Hola amigos, les cuento que he intentado con todo lo que han expuesto acá en este foro y aun no logro Restaurar la base de datos desde la aplicación.
Tratare de exponer con más claridad lo que me sucede.
Estoy haciendo un sistema en delphi7 y uso como gestor de base de datos SQL-Server 2000
En el DM (TDataModule) tengo un Connection (TADOConnection) donde en el connection string establezco la cadena de conexión.
En el QrySalvRest (TADOQuery) como pueden observar le paso por código la cadena SQL y luego lo ejecuto.
Código Delphi
[-]procedure TPrincipalForm.RestaurarBD1Click(Sender: TObject);
var
Camino : String;
begin
Camino := 'c:\SalvaSAF';
try
QrySalvRest.SQL.Clear;
QrySalvRest.SQL.Add('Restore database SAF');
QrySalvRest.SQL.Add('from disk = '+ QuotedStr(Camino));
QrySalvRest.SQL.Add('With Replace');
QrySalvRest.ExecSQL;
Application.MessageBox('La restaura terminó satisfactoriamente.','Salvar BD', MB_ICONINFORMATION);
except
Application.MessageBox('No se pudo restaurar la base de datos.','Salvar BD', MB_ICONERROR);
end;
end;
Me lanza el siguiente error:
Exclusive access could not be obtained because the database is in use
nota: Yo soy el único usuario que esta trabajando con la base de datos ya que el Query con el que intento restaurar tiene establecido en el conection string el Connection (TADOConnection).
La verdad que no se que hacer, y mi cliente no quiere depender del informático para realizar la restaura, el quiere que la aplicación le de esa facilidad.
De antemano no se como agradecerles la ayuda que ya me han brindado.