Estoy intentando hacer un backup-restore remoto desde Delphi XE2. Con la nueva versión de Firebird 2.5.2 es posible mediante
Backup:
Código SQL
[-]fbsvcmgr remotehost:service_mgr -user sysdba -password XXX / action_backup -dbname some.fdb -bkp_file stdout >some.fb
Restore:
Código SQL
[-]fbsvcmgr remotehost:service_mgr -user sysdba -password XXX \ action_restore -dbname some.fdb -bkp_file stdin <some.fbk
Lo he probado ejecutando un .bat y funciona, pero con Delphi no consigo que funcione el Restore
Uso la función
Código Delphi
[-]
function EjecutarPrograma(Programa:String;Esperar:Boolean=True):Boolean;
var ProcInfo:TProcessInformation; Info:TStartupInfo;
begin
FillChar(Info,SizeOF(Info),0);
Info.cb:=SizeOf(Info);
Info.dwFlags:=STARTF_USESHOWWINDOW;
Info.wShowWindow:=SW_HIDE;
Result:=CreateProcess(nil,PChar(Programa),nil,nil,False,0,nil,nil,Info,ProcInfo);
if Esperar then while WaitForSingleObject(ProcInfo.hProcess,100)=Wait_TimeOut do begin Application.ProcessMessages;
if Application.Terminated then Break; end;
end;
Falla en la Espera, en
WaitForSingleObject
Agradecería cualquier ayuda
Gracias