codigo delphi:
Código Delphi
[-]
fDatos.ADOConnection.Connected := False ;
fDatos.ADOConnection.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Master;
Data Source='+cServerName+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;
Workstation ID=SERVERHP;Use Encryption for Data=False;Tag with column collation when possible=False';
fDatos.ADOConnection.Connected := True ;
Consulta.SQL.Clear ;
Consulta.SQL.Add ('RESTORE DATABASE '+ cDataBaseName +' FROM DISK = '+QuotedStr(edDestino.Text ) +' WITH '+
' FILE = 1, '+
' NOREWIND, '+
' NOUNLOAD, '+
' REPLACE ');
Consulta.ExecSQL ; fDatos.ADOConnection.Connected := False ;
fDatos.ADOConnection.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog='+cDataBaseName+'
;Data Source='+cServerName+';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;
Workstation ID=SERVERHP;Use Encryption for Data=False;Tag with column collation when possible=False';
fDatos.ADOConnection.Connected := True ;
MessageDlg('La base de datos se ha restaurado con exito', mtInformation, [mbOK], 0);
Me da el error en el execSQL , diciendome que no tengo acceso exclusivo a la base, pero si la desconecte asi que descartado por ese lado.
Lo curioso del asunto es que si ejecuto un trace linea por linea lo realiza correctamente
Gracias por su tiempo.