Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   No puedo restaurar base de datos SQL Server 2005 por codigo (https://www.clubdelphi.com/foros/showthread.php?t=64306)

DANY 26-03-2009 01:19:11

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.

Neftali [Germán.Estévez] 26-03-2009 12:05:53

¿No tendrás ninguna otra conxión abierta en esa Base de Datos?
¿Algun formulario en el IDE?

DANY 26-03-2009 12:43:16

Las conexiones en todo el sistema estan centralizadas en el objeto fdatos.Adoconection en cuestion, en el momento de probar el backUp es el unico form activo. Ahora repito, haciendo una traza con F9 me da el error comentado, pero si lo sigo linea por linea no me da el error.
Gracias.


La franja horaria es GMT +2. Ahora son las 18:23:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi