Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Usar el Gbak desde mi aplicación

Hola compañeros, tengo mucha información de como usar el gback desde la linea de comandos, pero lo que me gustaría es poder hacerlo desde mi aplicacíon, poniendo dos edits, el 1º para la bd, el segundo donde guardarlo (esta parte esta solucionada, pero luego como mando la orden desde el programa, estoy probando en una aplicación sin b.d., pero la idea es hacerla desde la misma aplicación, tendría que cerrar el Ibdatabase.

Como siempre muchas gracias por vuestra ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 03-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
gbak no necesita que cierres la base de datos, puede hacer el backup mientras están trabajando, ya que usa transacciones, por lo que no le molesta lo que hagan otros mientras él trabaja

Descarga este programita de backups que he compartido alguna vez en clubdelphi, échale un vistazo y verás cómo está hecho lo que quieres.
Y si tienes alguna duda... aquí estaré

Última edición por Casimiro Notevi fecha: 03-07-2012 a las 18:22:11.
Responder Con Cita
  #3  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola José.

Te pongo un ejemplo de una forma simple en que podrías hacerlo:
Código Delphi [-]
procedure TForm1.MakeBackup;
const
   PATH_BACKUP = 'C:\...\Data\Backup\';
   FILE_BACKUP = 'C:\...\Data\BASEDATOS.FDB ';
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  Nombre: string;
begin
  // Componer nombre de archivo (yyyymmdd.fbk)
  Nombre:= StringOfChar('0',4-Length(IntToStr(YearOf(Now))))+IntToStr(YearOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(MonthOf(Now))))+IntToStr(MonthOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(DayOf(Now))))+IntToStr(DayOf(Now))+ '.FBK';
  if not FileExists(PATH_BACKUP + Nombre) then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;
     
      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+ FILE_BACKUP + PATH_BACKUP + Nombre);
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
    finally
      Free;
    end;
end;

Saludos.

Edito: Sin dudas nada tán elaborado como el código de Casimiro. Código que, con su permiso, voy a pasar a echarle una mirada
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-07-2012 a las 18:12:03.
Responder Con Cita
  #4  
Antiguo 03-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Edito: Sin dudas nada tán elaborado como el código de Casimiro. Código que, con su permiso, voy a pasar a echarle una mirada
Es un programita sencillo, sin florituras
Responder Con Cita
  #5  
Antiguo 03-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Casimiro Notevi
Cita:
gbak no necesita que cierres la base de datos, puede hacer el backup mientras están trabajando, ya que usa transacciones, por lo que no le molesta lo que hagan otros mientras él trabaja

Descarga este programita de backups que he compartido alguna vez en clubdelphi, échale un vistazo y verás cómo está hecho lo que quieres.
Y si tienes alguna duda... aquí estaré
Muy bueno el programa, le he estado echando un vistazo en su momento y no me acordaba de el , hasta que lo has nombrado.

ecfisa
Cita:
Te pongo un ejemplo de una forma simple en que podrías hacerlo:
Muchas gracias por el ejemplo lo pruebo en un rato.

Gracias a ambos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 03-07-2012
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
A colación:

Yo tengo código de internet que permite ejecutar una orden y recoger el resultado de la línea de comando en un String. Es útil para saber si ha dado algún error o no. Lo usé con gbak porque quería hacer un reparador de BBDD Firebird automático.

Si crees que te sirve, avisa y pego por aquí.

Básicamente hacía todos los pasos descritos en http://www.destructor.de/
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 03-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
muchas gracias Lepe, por supuesto todo lo que ayude es de agradecer y lo que no también (por la intención)
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #8  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola José Luis.

Hay un detalle en el código que te puse, que si bién no afecta el funcionamiento, es innecesario.

Donde dice:
Código Delphi [-]
   StringOfChar('0',4-Length(IntToStr(YearOf(Now))))+IntToStr(YearOf(Now))

Bién podría decir
Código Delphi [-]
   IntToStr(YearOf(Now))
con el mismo efecto...


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 03-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
ecfisa, he probado el código pero no va, lo único que he cambiado son las constantes y que lo ejecuto en un boton, te pongo el código por si ves, que he cometido algún error.

Código Delphi [-]
procedure TForm1.SpeedButton4Click(Sender: TObject);
const
   PATH_BACKUP = 'C:\TEBICA PROGRAMA\SEG BD\';
   FILE_BACKUP = 'C:\TEBICA PROGRAMA\BD\TEBICA.FDB';
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  Nombre: string;
begin
//   Componer nombre de archivo (yyyymmdd.fbk)
  Nombre:= StringOfChar('0',4-Length(IntToStr(YearOf(Now))))+IntToStr(YearOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(MonthOf(Now))))+IntToStr(MonthOf(Now)) +
    StringOfChar('0',2-Length(IntToStr(DayOf(Now))))+IntToStr(DayOf(Now))+ '.FBK';
  if not FileExists(Edit4.Text + Edit5.Text) then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;

      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
//      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+Edit3.Text + Edit4.Text + Edit5.Text);
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+ FILE_BACKUP + PATH_BACKUP + Nombre);
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
    finally
      Free;
    end;
end;

Mi firebirrd es 2_5 y esta activo (Run) como un servicio y el (Start) en automático,por si te sirve de ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #10  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola José Luís.

Ahora voy a probar el código con el agregado de los Edits. Pero así, a vista de pájaro, pareciera que te falto un espacio al finalizar la constante FILE_BACKUP.

En un rato te pongo el resultado que obtuve.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 03-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo José.

De este modo me funciona correcto:
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
begin
  if not FileExists(EditTargetName.Text) then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;

      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
      EditPathAndBDName.Text:= EditPathAndBDName.Text + ' ';
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" ' +
        EditPathAndBDName.Text + EditTargetPath.Text + EditTargetName.Text);
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
    finally
      Free;
    end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-07-2012 a las 01:48:05.
Responder Con Cita
  #12  
Antiguo 04-07-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: Entro solamente para agradecer a Jose Luis por la pregunta y al maestro ecfisa por la respuesta. Hace ya un tiempo que sabia que en algún momento iba a necesitar hacer un backup de firebird pero mientras estaba en desarrollo la aplicación general como que lo veia medio lejos o para no preocuparme (Creo recordar que hace menos de un año arranque con firebird lo que conlleva a aprender Sql, etc, etc y hacer un backup era lo siguiente en la lista). Tambien vi que el tema es mas o menos recurrente y seguramente yo iba a poner la pregunta exacta que hizo Jose Luis. (Simple, cortito y al pie ) un clik en un botón, el backup arranca y listo (Aunque todavia no lo probe pero seguramente va a funcionar).
No me quiero olvidar de Casimiro que aporta un programa donde él lo nombra como "programita" pero siempre que me propuse intentar interpretarlo me agarra un mareo y lo dejo (son demasiadas opciones del "programita" por lo que pagan ).-

Bueno, nada mas que eso y muchas gracias.-

Saludos
Responder Con Cita
  #13  
Antiguo 04-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Martin.

Con solo comparar el código del "programita" de Casimiro con el mío queda bién claro que el maestro no soy yo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #14  
Antiguo 04-07-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Entonces resumis muy bien. .
Saludos
Responder Con Cita
  #15  
Antiguo 04-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Hola compañeros, descubri el problema que tenia, resulta que si las rutas de orige o destino tiene espacios en blanco, debe ir entre comillas dobles. el código queda de la siguiente manera

Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  varbPasado:Boolean;
begin
  varbPasado:=False;
  if not FileExists(Edit3.Text+'.FBK') then
    with TPanel.Create(nil) do
    try
      Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
      Font.Size:= 14;
      Font.Name:= 'Arial';
      Width:= 600;
      Height:= 70;
      Left:= (Self.ClientWidth - Width) div 2;
      Top:= (Self.ClientHeight - Height) div 2;
      BevelInner:= bvNone;
      BevelOuter:= bvNone;
      BevelWidth:= 1;
      BorderStyle:= bsSingle;
      Ctl3D:= False;
      Parent:= Self;

      lpOperation:= 'open';
      lpFile:= 'gbak.exe';
      Edit1.Text:= '"'+Edit1.Text + '" ';
      lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" '+
        Edit1.Text +'"'+Edit2.Text+'"');
      lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_1\bin');
      Memo1.Lines.Clear;
      Memo1.Lines.Add(lpParameters);
      ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
      varbPasado:=true
    finally
      if varbPasado=true then ShowMessage('Proceso terminado')
                         else ShowMessage('El fichero ya existe');
      Free;
    end;
end;

Ahora abusando un poco, es logico que pase según mis pruebade de 125 Mb a 8.90 y de 3.40 Mb a 28.5K
y por último cual seria la sentencia correcta para una restauración.

Muchas gracias por ser siempre tan atento ecfisa
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #16  
Antiguo 04-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Con solo comparar el código del "programita" de Casimiro con el mío queda bién claro que el maestro no soy yo...
Eso se lo dirás a todos

Cita:
Empezado por José Luis Garcí Ver Mensaje
y por último cual seria la sentencia correcta para una restauración.
El problema de los espacios en blanco y que debes poner la ruta entre comillas... puedes verlo en mi código

Para restaurar es exactamente igual, con otros parámetros.

En lugar de gbak -b -t elorigen.fdb lacopia.fbk sería gbak -r -p 8192 lacopia.fbk elorigen.fdb

Eso sí, en este caso no puede haber nadie conectado a la BD, o mejor la restauras con otro nombre y luego sustituyes a la otra, o mejor la renombras... por si acaso hay algún problema en la restauración, no te vayas a quedar sin ninguna de las dos
Responder Con Cita
  #17  
Antiguo 06-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Hola compañeros, en primer lugar he tenido que poner el gbak en el directorio del ejecutable pero fuera de eso, me realiza bien las copias, creo que la diferencia de tamaño se debe a que debe eliminar los espacios en blanco, pero resulta que ahora estoy con la restauración de la copia de seguridad y este es el código que tengo

Código Delphi [-]
procedure TForm1.SpeedButton5Click(Sender: TObject);
//------------------------------------------------------------------------------
//*************************************************************[ Restaurar BD ]****
//------------------------------------------------------------------------------
function ProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: LARGE_INTEGER; dwStreamNumber, dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle; lpData: Pointer): DWORD; stdcall;
//------------------------------------------------------------------------------
//  Funcion del compañero escafandra bajado de
//  http://www.delphiaccess.com/forum/tr...eso-en-delphi/
//------------------------------------------------------------------------------
var
   Value: integer;
begin
   Application.ProcessMessages();
   if(dwCallbackReason = CALLBACK_CHUNK_FINISHED) then
      Form1.ProgressBar1.Position:= (int64(TotalBytesTransferred) * 100) div int64(TotalFileSize);
   Result:= PROGRESS_CONTINUE;
end;
var
  lpOperation, lpFile, lpParameters, lpDirectory: PChar;
  varbPasado:Boolean;
begin
  varbPasado:=False;
  if (Edit3.Text<>'') and (Edit4.Text<>'') then
  begin
    if CheckBox1.Checked then  //Si deseamos hacer una copia del original
    begin
      Cancel:= false;
      CopyFileEx(Fuente, Destino, @ProgressRoutine, nil, @Cancel, 0);
      ShowMessage(SysErrorMessage(GetLastError()));
    end;
    with TPanel.Create(nil) do
    try
        Caption:= 'Restaurando copia de seguridad, aguarde un momento por favor...';
        Font.Size:= 14;
        Font.Name:= 'Arial';
        Width:= 600;
        Height:= 70;
        Left:= (Self.ClientWidth - Width) div 2;
        Top:= (Self.ClientHeight - Height) div 2;
        BevelInner:= bvNone;
        BevelOuter:= bvNone;
        BevelWidth:= 1;
        BorderStyle:= bsSingle;
        Ctl3D:= False;
        Parent:= Self;
        lpOperation:= 'open';
        lpFile:= 'gbak.exe';
//        Edit3.Text:= '"'+Edit3.Text + '" ';
        lpParameters:= PChar('-r -v -p 8192 -user SYSDBA -password "masterkey" "'+ Edit3.Text +'" "'+Edit4.Text+'"');
//        if RadioGroup1.ItemIndex=0 then lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_1\bin')
//                                   else lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
         lpDirectory:=PChar(ExtractFilePath(Application.Name));
        ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
        varbPasado:=true
    finally
        if varbPasado=true then ShowMessage('Proceso terminado')
                           else ShowMessage('El fichero ya existe');
        Free;
    end;
  end;
end;

como podréis comprobar, lo primero que hago es una copia del fichero original, con una función de escafandra, luego restauro la base de datos, el problema es que quiero restaurar una base de datos de 126 Mb y al finalizar sigo teniendo una de 3,40 Mb, y el fichero backup (FBK) tiene un tamaño de 9,25 Mb.
Supongo que est mal , no he intentado abrir la BD ya que de momento lo que tengo es la B.D. del programa (126 Mb), la primera copia de esta (3,40 Mb), pero supongo que algo no va bien.

Como siempre gracias por vuestra ayuda.


Casimiro
Cita:
El problema de los espacios en blanco y que debes poner la ruta entre comillas... puedes verlo en mi código
Lo comprobé, al igual que he estado mirando tus constantes, probando tú código, pero no encuentro ningún botón para hacer el backup sobre la marcha, se que el nombre es backupsPlanificados, pero echo en falta esto y la posibilidad de restaurar las copias ya echas. Eso si el programa es bueno y muy bien terminado.

Un saludo y gracias por vuestra colaboración y ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #18  
Antiguo 06-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda que con una copia "normal" (sin gbak) no debe existir ninguna conexión abierta a la BD, ya que la copia tendría grandes posibilidades de tener defectos.

En cuanto al tamaño del backup, restáurala con otro nombre, conecta a ella y echa un vistazo

En cuanto al programita BPF, por eso lo llamo programita, porque es muy simple, se quedó en el tintero montones de cosas que quería ponerle, pero siempre había otras cosas más urgentes que hacer, así que lo fui dejando.
Responder Con Cita
  #19  
Antiguo 06-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Hola Caimiro

Cita:
Recuerda que con una copia "normal" (sin gbak) no debe existir ninguna conexión abierta a la BD, ya que la copia tendría grandes posibilidades de tener defectos.
La idea es que el programa que se encargue de las copias de seguridad, este aparte del programa original, con lo cual no tendrá conectada ninguna base de datos. Aparte de Copiar y restaurar la base de datos, tambien permite copiar el directorio completo, con lo cual no interesa que este activo la BD. Como ya me indicarón en su día .

Cita:
En cuanto al tamaño del backup, restáurala con otro nombre, conecta a ella y echa un vistazo
por fin lo logre restaura, primero haciendo el proceso a mano (con el Command.com), y descubrí que en vez de -r tenia que poner -REP (para que remplazara la Bd), lo curioso es que el resultado final es de 14.4Mb y no de 126 Mb, aparentemente están los datos (Sólo le he echado un vistazo por encima).

Cita:
En cuanto al programita BPF, por eso lo llamo programita, porque es muy simple, se quedó en el tintero montones de cosas que quería ponerle, pero siempre había otras cosas más urgentes que hacer, así que lo fui dejando.
Primero de programita nada, es un señor programa, en cuanto a eso de "así que lo fui dejando", ¡Rápidamente dame el número de teléfono de tu jefe, vamos hombre, que es eso de ir dejando las cosas a medias!
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #20  
Antiguo 06-07-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Para los que le puedan interesar, acabo de subir el programa (ejecutable y fuentes) al Ftp del Club, para que lo useis libremente, para criticarme, apalearme, etc, esas cosas tan cariñosas que sabeis hacer.

esta en el ftp del Club con el nombre CDYCR_BD.zip.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar archivos ayuda en mi aplicacion? Alejo15x Varios 4 14-05-2010 08:42:16
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
Usar una aplicación externa desde Delphi erika.martinez Varios 9 14-04-2005 18:10:22
Puedo usar en una aplicacion CLX el Fastreport3 ctronx Impresión 1 08-11-2004 17:59:56
gbak jaime cotino Varios 1 21-06-2004 10:48:29


La franja horaria es GMT +2. Ahora son las 23:20:27.


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
Copyright 1996-2007 Club Delphi