Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   tabla dañada? aparecen todos los registros asi: ®?P½/”ÄrÒP (https://www.clubdelphi.com/foros/showthread.php?t=32396)

Wonni 05-06-2006 11:31:26

tabla dañada? aparecen todos los registros asi: ®?P½/”ÄrÒP
 
Hola

Tengo un programa que utiliza tablas paradox y hay una tabla con 6150 registros que se ha dañado. Reindexo y no da error ni nada, pero los datos se han ido al traste. Las columnas ID, Cod_Art y Descripcion en lugar de los datos aparece todo lleno de esto:

m„Åñõn¶Nv

®?P½/”ÄrÒP

etc...

:( asi todos los 6150 registros. ¿ que ha pasado ?, estoy desecho. Toda la informacion a la mierda. ¿como se ha cambiado toda la informacion por estos signos?

Los campos numericos estan bien. Los campos que les ha pasado esto son Auto y Alfanumericos.

Esto no tiene ya solucion, pero me gustaria si alguien sabe porque pasa esto.

Gracias

Casimiro Notevi 05-06-2006 12:23:58

hay infinidad de casos por los que puede suceder eso. Te pongo un caso como ejemplo, un problema de corte de electricidad en un momento "delicado", se pierde la marca de fin de fichero y cuando vas a acceder a tus datos... estos no se encuentran y acaban leyendo cualquier parte del disco en la que había cualquier cosa: un ejecutable, una imagen, etc. y ahora tienes una base de datos con datos incomprensibles que son parte de una imagen que había antes en esa zona del disco.

No es por ser un pesado, pero qué trabajo cuesta hacer una simple copia de la base de datos... teniendo en cuenta que son datos importantes para tí.

Seguro que te sirve de experiencia para que no te ocurra más.

Wonni 05-06-2006 15:11:54

Gracias Casimiro

En efecto, ocurrio un corte de electricidad, me han confirmado.

Existe copia de seguridad, pero de hace bastante tiempo.

Voy a implementar en el programa una funcion para hacer la copia de seguridad al salir del programa sin intervencion del usuario. Si tarda mas en cerrarse, pues que se esperen. Incluso he pensado en que se haga cada X minutos ( y que esta opcion si fuese configurable por el usuario. el tiempo y si activarla o no ). Pero esto ultimo no se bien como hacerlo. Supongo que deberia ejecutarse en un hilo a parte, ¿no?. Ya veremos. Pero la copia al cerrar, fijo.

Saludos

Casimiro Notevi 05-06-2006 21:52:56

Cita:

Empezado por Wonni
Gracias Casimiro

En efecto, ocurrio un corte de electricidad, me han confirmado.

Existe copia de seguridad, pero de hace bastante tiempo.

Voy a implementar en el programa una funcion para hacer la copia de seguridad al salir del programa sin intervencion del usuario. Si tarda mas en cerrarse, pues que se esperen. Incluso he pensado en que se haga cada X minutos ( y que esta opcion si fuese configurable por el usuario. el tiempo y si activarla o no ). Pero esto ultimo no se bien como hacerlo. Supongo que deberia ejecutarse en un hilo a parte, ¿no?. Ya veremos. Pero la copia al cerrar, fijo.

Saludos

no debes hacer copia de seguridad mientras estén usando el programa que maneja la base de datos.

A no ser que uses firebird, en ese caso puedes hacer una copia en "caliente" sin problema alguno.

Marco A. Ruiz 15-06-2006 19:28:20

Creo que un poco tarde, ajusgar por la fecha en que posteastes...

Pero yo ya tuve un problema similar anteriormente, pero fue con una base de datos de Acces, su sedio lo mismo, comentas que tienes un respaldo de la base de datos, con eso te puedo recuperar la informacion (o cuando menos intentar recuperar :) ).

Cuando me sucedio con el respaldo que tenia fue una gran ayuda auqnue tenia ya mas de cientos de registros añadidos y el anterior no, pero me sirvio para poder recuperar la informacion...

Asi que si aun necesitas ayuda con esa base encaso de asi sea, espero poder ayudarte, o si alguien mas ;) , pues estare al pendiente...

Saludos!

Wonni 15-06-2006 22:22:19

Gracias Marco,

He recuperado la copia que tenia, pero como ya dije es bastante antigua. La verdad, poco me hubiera costado haber creado una rutina para cada semana, por ejemplo, mostrar un mensaje si no se habia hecho copia de seguridad en ese periodo de tiempo. Aunque es mejor la opcion de hacerla automaticamente al salir, que ya la tengo implementada.

De todas formas la mudanza a Interbase es inminente. Ahora estoy haciendo un instalador por mi cuenta. Ya se que hay scripts, pero al igual que hice con BDE ( me hice un instalador y un desinstalador ), prefiero hacerlo yo.
Me imagino que frente a un corte de luz, da igual Interbase que Paradox que Access.... Pero creo que el cambio me favorecera.

Saludos !! :)

Casimiro Notevi 15-06-2006 23:14:04

Cita:

Empezado por Wonni
Gracias Marco,

He recuperado la copia que tenia, pero como ya dije es bastante antigua. La verdad, poco me hubiera costado haber creado una rutina para cada semana, por ejemplo, mostrar un mensaje si no se habia hecho copia de seguridad en ese periodo de tiempo. Aunque es mejor la opcion de hacerla automaticamente al salir, que ya la tengo implementada.

De todas formas la mudanza a Interbase es inminente. Ahora estoy haciendo un instalador por mi cuenta. Ya se que hay scripts, pero al igual que hice con BDE ( me hice un instalador y un desinstalador ), prefiero hacerlo yo.
Me imagino que frente a un corte de luz, da igual Interbase que Paradox que Access.... Pero creo que el cambio me favorecera.

Saludos !! :)

pues no, no da igual :)

Interbase y Firebird usan transacciones que mantienen siempre la base de datos en un estado "consistente".
Como curiosidad, ¿sabes por qué eligieron interbase en los ordenadores de los carros de combate (tanques) en EEUU?, porque tras cada disparo, el sistema eléctrico se venía abajo y apagaba todos los dispositivos electrónicos, incluido el ordenador, interbase fue la única base de datos que superaba la prueba de no quedar "estropeada" tras cada caída del sistema, se recupera automáticamente sin pérdida alguna de datos.
No es que me sienta orgulloso de los militares, pero sí que dice mucho a favor de interbase/firebird :)

Wonni 15-06-2006 23:20:26

Cita:

Empezado por Casimiro Notevi
pues no, no da igual :)

¿sabes por qué eligieron interbase en los ordenadores de los carros de combate (tanques) en EEUU?, porque tras cada disparo, el sistema eléctrico se venía abajo y apagaba todos los dispositivos electrónicos, incluido el ordenador, interbase fue la única base de datos que superaba la prueba de no quedar "estropeada" tras cada caída del sistema, se recupera automáticamente sin pérdida alguna de datos.

:eek: :eek: :eek: :eek: :eek: :eek: :eek:


Pues no da igual, ya veo que no. Gracias por la info, muy interesante.


Saludos !!

Marco A. Ruiz 16-06-2006 17:19:41

Muy bien mi amigo, nose si me ayas entendido, me imagino que estas capturando o ya capturas la informacion perdida?

La ayuda que te ofreci era para ver si podiamos recuperar la base de datos actual (la que perdistes) tomando como referencia la base de datos antigua.

En el caso que te comente con la base de datos anterior los capturistas no tuvieron que capturar toda la informacion denuevo, sino mas bien se logro restaurar la base de datos dañada y se continuo con el trabajo.

Yo me referia en caso de que estes capturando y tengas mucho que capturar, no perdemos nada en que tu continues capturando y por otro lado intente repararte la base de datos (no es seguro, pero le intentamos) y si se llegara a recuperar pues ya la hicistes mi amigo.

Pero si tu trabajo ya esta hecho, pues encaso de que pueda ayudarte de otra manera... aquiestamos al pendiente en el foro

Saludos!

User_Baja_2 16-06-2006 19:10:46

Interbase
 
Buenas, quisiera saber si interbase es de licencia gratuita y indistintamente me gustaria saber que tipo de componentes son utiles para enlazarlo con componentes visuales en delphi.

Muchas gracias

Casimiro Notevi 16-06-2006 20:59:48

Cita:

Empezado por nuppy
Buenas, quisiera saber si interbase es de licencia gratuita y indistintamente me gustaria saber que tipo de componentes son utiles para enlazarlo con componentes visuales en delphi.

Muchas gracias

esta pregunta creo que deberías haberla hecho en un hilo nuevo, pero en fin...

Interbase 6 es open source, las versiones anteriores y posteriores no lo son, sólo la 6.
Sin embargo, Firebird si es open source en todas sus versiones. Firebird nació de Interbase 6.


La franja horaria es GMT +2. Ahora son las 05:31:06.

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