PDA

Ver la Versión Completa : Problema con ODS al copiar BD


Fita
27-03-2013, 16:33:00
Hola a todos.
Tengo este problema, una base de datos que funciona perfecto en un ordenador al copiarla a otro ordenador me da el siguiente error al querer conectarme:
Unsupported on-disk structure for file C:\FgCole\IBcolegios.idb; found 32779, support 10.

El servidor Firebird es el mismo, lo unico que hice fue copiarla, obviamente la idea es cambiar el servidor.
Cómo puedo solucionarlo?
alguna ayuda será bienvenida

Saludos

Al González
27-03-2013, 17:20:38
Creo que deberías hacer un respaldo transportable (http://casimiroysumundo.blogspot.mx/2010/01/gbak-backuprestore-en-firebird.html).

Algunas herramientas administrativas, como IBExpert, cuentan con opciones de menú para realizar respaldos .fbk y recuperarlos en otro equipo.

Saludos.

Casimiro Notevi
27-03-2013, 18:06:24
El servidor Firebird es el mismo, lo unico que hice fue copiarlaEso es lo malo, que la has copiado directamente, seguramente tenía alguna conexión abierta.
Haz caso a lo que dice Al González:Creo que deberías hacer un respaldo transportable (http://casimiroysumundo.blogspot.mx/2010/01/gbak-backuprestore-en-firebird.html).

lbuelvas
27-03-2013, 20:04:15
Hola amigos. Les comento, antes de copiar una base de datos lo que hago es cambiarle el nombre al archivo colocándole algun numero o letra; si no se deja cambiar de nombre (probado en plataforma Windows) es que hay algún usuario conectado a la base de datos, en cuyo caso optaria por reinicair el servidor y repetir el procedimiento. Ya cambiado el nombre eso me garantiza que mientras este haciendo la copia no se conecte ningun nuevo usuario. Luego crear una nueva copia del archivo, después hacer un backup/restore para verificar la integriadad de la base de datos.

Muchas veces hacemos una copia de la base de datos y borramos e archivo del cliente sin antes verfiicarlo y a veces se lleva un tremendo susto viendo que nos quedamos con una base de datos completamente en blanco.

Gallosuarez
27-03-2013, 20:55:56
Ibuelvas:

Acuérdate que Firebird es un motor de base de datos basada en una arquitectura multi-generacional (existen varias versiones del mismo registro cuando se realiza una operación de actualización o borrado). Esto con el fin de evitar los llamados "dead locks" que existen en otras base de datos (y que son un dolor de cabeza para muchos programadores). Pero a cambio de esto, en Firebird existe una proceso que corre en el "background" que lo llaman "sweep" (barrido) o "garbage collector (recolector de basura). El cual se encarga de "barrer" o borrar todos estos registros obsoletos y que ya no tienen ningún interés para las transacciones actuales, ¿me explico?. Es decir, si haces una vil copia del archivo de base de datos, nadie te garantiza que en esos momento no se esté efectuando un "garbage collector" en el "background" y que tu base de datos quede dañada. Es por eso que Casimo y Al te recomiendan SIEMPRE hacer un "gbak" pare evitar todo este problema.

Saludos,
Gerardo Suárez Trejo