Ver Mensaje Individual
  #1  
Antiguo 07-08-2006
didier didier is offline
Miembro
 
Registrado: jul 2003
Ubicación: Santiago, Chile
Posts: 56
Reputación: 23
didier Va por buen camino
respaldo base de datos mysql - delphi

hola amigos quiero respaldar y restaurar una base de datos mysql con delphi, tengo el siguiente codigo pero este se cae cuando llego al momento de hacer el respaldo alguien me puede ayudar

gracias.

codigo:

procedure TfrmPRORespaldo.btnrespaldoClick(Sender: TObject);
var
i : integer;
v_tipomensaje : string;
v_ruta : string;
v_listas : TStringList;
v_archivobat : PChar;
begin
if (not rbbackup.Checked) and (not rbrestore.Checked) or
(edtnombrearchivo.text = '') then exit;

if rbbackup.Checked then v_tipomensaje := rbbackup.Caption;
if rbrestore.Checked then v_tipomensaje := rbrestore.Caption;

v_listas := TStringList.Create;

if rbbackup.Checked then
begin
v_ruta := 'C:\Archivos de programa\MySQL\MySQL Server 5.0\bin\mysqldump --opt --password=usrges --user=usrges bdgestran > ' + edtnombrearchivo.text;
v_listas.Add(v_ruta);
v_listas.SaveToFile(cRutaExe+'backup.bat');
end;


if rbrestore.Checked then
begin
v_ruta := 'C:\Archivos de programa\MySQL\MySQL Server 5.0\bin\mysql --password=usrges --user=usrges bdgestran < ' + edtnombrearchivo.text;
v_listas.Add(v_ruta);
v_listas.SaveToFile(cRutaExe+'restore.bat');
end;

v_listas.Free;

if MensajeDlg('Inicia Proceso ',v_tipomensaje) = 1 then
begin
ProgressBar1.Position := 0;
ProgressBar1.Visible := true;

for i := 1 to 10000 do
ProgressBar1.Position := i;

try
v_archivobat := StrAlloc(80);
StrPCopy(v_archivobat, v_ruta);
//WinExec(v_archivobat , SW_SHOWNORMAL);
ShellExecute(Handle,'open',v_archivobat,nil, nil,SW_SHOWNORMAL);
StrDispose(v_archivobat);
except on E:Exception do
MsgDialogo('Error en en el proceso de '+v_tipomensaje, mtError, [mbOk]);
end;

MensajeAdv('Terminado Proceso ',v_tipomensaje);

end;
ProgressBar1.Position := 0;
ProgressBar1.Visible := false;



end;
Responder Con Cita