Ver Mensaje Individual
  #1  
Antiguo 26-03-2009
DANY DANY is offline
Miembro
 
Registrado: nov 2003
Posts: 145
Reputación: 21
DANY Va por buen camino
No puedo restaurar base de datos SQL Server 2005 por codigo

codigo delphi:
Código Delphi [-]
//Cierro la conexion activa del sistema y conecto a la base master.    
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 ;//
    //Vuelvo a conectar a la base luego del RESTORE.
    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.
Responder Con Cita