Bueno por el momento ya me quedo mas tranquilo porque no hay errores en el respaldo. El problema sera si algun dia los hay que no me enterare. Seria facil solventarlo haciendo que busque la palabra 'error' pero con un espacio 'error ' asi no lo confundiria con ningun objeto de la base de datos.
|
Bueno, creo que firebird siempre ponía dos puntos después de la palabra error, o sea: 'ERROR:'.
Lo he modificado de esa manera, aquí lo tienes, pruébalo. p.d.: Testea antes con algún antivirus, que está compilado en una vieja máquina virtual sin antivirus. |
Hola Casimiro,
Por fin lo he podido probar, funciona perfectamente. Ahoro ya no da el mensaje de error al realizar el backup. Muchas gracias Casimiro. |
A disfrutarlo :)
|
Cita:
Si podés pasarme los fuentes, estoy interesado en la aplicación y quiero agregarle una función que cuando termine de hacer el backup lo suba a un servidor FTP para tener otra copia de los backup. Saludos. |
Amigo Cañones, si lees los posts de arriba verás que ya lo modifiqué... y si sigues leyendo desde el principio verás que también hay un enlace para descargas los fuentes :)
Así, que ya sabes, cuando lo modifiques acuérdate de ponerlo aquí con los cambios que has hecho para quien quiera usarlo. Gracias :) |
Casimiro, olvide mencionar que el enlace a la descarga del codigo fuente, ya no funciona, por eso lo volvia a solicitar.
La cita del mensaje de quien lo modificaba, no era por ese caso puntual, si no que me referia a empezar a actualizarlo entre todos. |
Gracias por el aviso, ya está solucionado, estuve ordenando las cosas y olvidé actualizar los enlaces. Aquí está.
|
Muchas gracias.
Cuando termine las modificaciones lo vuelvo a subir. No se cuanto me llevará porque estoy con mucho trabajo. Saludos. |
No hay prisa, lo importante es el resultado :)
|
Respaldo
Hola yo utilizo el gbak.exe q viene en Firebird:
Les paso un ejemplo: Código:
sPassword := Data.IBConx.Password; Código:
procedure TData.EjecutarExe( const ruta, args: string; bWait: boolean; bShow:boolean ); Y una vez al dia se copia la BD completa, este respaldo lo hago cada hora +/- donde tengo información critica y hasta ahora no tuve problemas. Inclusive zipeo el bak si es muy grande con el componente ZipMaster que es free. Bueno nada de otro mundo, pero por ahí les sirve de algo. Saludos! Walter |
hola
waly2k1 // sFIREPath es la carpeta bin de firebird q parametrizo porque nose donde lo instalan sFIREPath como obtienes ese parametro. sFIREPath := ???(directorio de firebird)como lo obtienes? otra cosa como programas tu aplicacion para que se ejecute cada hora? usas un timer? o un timer con alguna rutina mas fina lo dijo por que en ocaciones se pone lenta la pc y no se de otra forma mas elegante que poner un timer y cada segundo estar checando si ya es la hora minuto o segundo.. yo voy a hacer una aplicacion que me haga un respaldo de la base de datos. enuna hora en especifico. digamos 8:30 pm y a esa hora inicie. no quiero poner un timer cada segundo reivsando si ya son las 8:30 pm y detenerlo cuando empieze el respaldo y activarlo al terminar el respaldo. gracias.. |
Rta...
Hola!
La variable sFIREPath la cargo en un parametro en una tabla de configuraciones, o la puedes poner en un .ini o como mas te guste nose Código:
sFIREPath := Data.ReadRegString( HKEY_LOCAL_MACHINE, '\Software\Microsoft\Windows\CurrentVersion\', 'ProgramFilesDir' ) + '\Firebird\Firebird_2_1\bin'; Esa funcion lee del registro la key de firebird, hay varias por acá en el foro y nose si la misma la saqué de por acá también (cosa que no dudo hehe) y le agregué nada mas la key de Firebird El timer lo pongo cada 30 segundos y voy incrementando un contador cuando sea la hora, lo vuelvo a 0 y ejecuto el backup. Lo pongo en 30 porque uso un reloj en la barra y se actualiza cada 30 seg. El valor maximo del timer si no me equivoco es de 60000. De ahi vas contando la cantidad de veces que ingresa a la rutina timer_timer. O en tu caso que pregunte la hora nada mas y si está dentro de las 08-09 que se ejecute y guardas un flag de ejecutado, asi no lo hace nuevamente, cuando sale de tu rango de horas lo pones en falso el flag. Hoy por hoy con la tecnología que tenemos no se nos puede achanchar una aplicación por un timer, sí por lo que se ejecute cada cierto tiempo si no fuera necesario o si es posible evitarse. En fin, espero haberte sido util, y me avisas cualquier problema. Saludos y éxitos! Walter |
una cosa mas.
Data y Tdata es una clase. no un record. ¿verdad? sFIREPath := Data.ReadRegString( HKEY_LOCAL_MACHINE, gracias Walter. |
bueno ya voy avanzando algo.
una duda relacionada a esto. ¿se puede mostrar un progressbar que muestre el avanze del backup que esta haciendo gbak? noten que no he revisado los codigos de casimiro ni el fibs. no se si ellos lo hayan implementado el progressbar. ando viendo eso gracias. |
En principio, creo que no se puede porque gbak no devuelve ninguna información con el porcentaje de trabajo hecho.
|
Rta...
Nooo, Data es un Datamodule
lo que sucede es que como uso un Datamodule en todos los proyectos, uso variables y funciones publicas ahí de acceso global. No hay forma de saber el % realizado, lo que puedes hacer es mostrar una barra de progreso de esas que llegan al final y comienzan otra vez, con el unico fin de que se vea que "hace algo" y no está colgada la aplicación. Además si tu BD no es muuuy grande esto lo hace muy rapido y no hace falta mostrar el estado actual o entretener mucho. Saludos! |
Casimiro, la verdad que el código es muy avanzado para mi.
Antes de empezar con el FTP, quería solucionar un problema que detecté; Cuando tengo mas de un backup por hacer en la grilla, solo me hace el ultimo de la grilla y los demás no los hace. Esto te sucede a vos también? Voy a seguir estudiando el código para ver que puedo hacer. Gracias y saludos. |
A mí me funciona bien, está instalado en algunos clientes y no me han comentado nada al respecto, así que supongo que les va bien.
|
Ayuda con la herramienta de backup
Hola amigos del club, estaba buscando como hacer backup automáticos en firebird 2.5 me encontré este foro, lo he probado y me da el siguiente error cuando realizo el backup y luego intento comprimir el archivo zip. abrí el archivo log me dice el siguiente error:
|
La franja horaria es GMT +2. Ahora son las 13:06:05. |
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