Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   quiero abrir una base datos (https://www.clubdelphi.com/foros/showthread.php?t=68752)

Casimiro Notevi 09-07-2010 23:31:13

Cita:

Empezado por alex2112 (Mensaje 369901)
instale el flamerobin ahora que paso sigue

Pues registra la base de datos!

Menú "DataBase" -> "Regsiter existing database..."

Y en la ventana que se abre debes escribir los datos de la misma:

Display name: loquequieras
Database path: c:\tubasedatos.gdb (la ruta completa y nombre de tu BD)
User name: sysdba
password: masterkey

Le das al botón "Guardar"

guillotmarc 10-07-2010 00:14:11

Cita:

Empezado por alex2112 (Mensaje 369902)
los programas que yo he dicho que intentado abrirla me da ese error este mismo archivo me dijeron que lo pudieron abrir con ibmanager 3.exe y el ibconsole tambien lo abrio

Me parece que tienes muchos conceptos poco claros.

Tienes que diferenciar entre lo que es el motor de la base de datos : Interbase 5, Interbase 6, Interbase 6.5, Interbase 7, Interbase 7.5, Interbase, 2007, Interbase 2009, Firebird 1, Firebird 1.5, Firebird 2, Firebird 2.1, ... y lo que es la utilidad para gestionar esa base de datos (crear y modificar tablas, campos, vistas, etc. ...) : IBManager, IBConsole, IBExpert, EMS SQL Manager, FlameRobin, etc. ...

Olvídate de las utilidades para gestionar la base de datos, en este caso son lo de menos, ellas no te provocan ese error, es más, su nivel de compatibilidad suele ser muy alto, y desde cualquiera de ellas vas a poder conectar con una base de datos corriendo en cualquier motor Interbase o Firebird.

Tu problema está en el mismo motor de la base de datos. No puedes esperar utilizar alegremente una base de datos Interbase/Firebird al azar en cualquiera de los motores Interbase/Firebird (es como esperar que un documento Excel lo puedas abrir en cualquier versión de Office).

Aunque hay cierta compatibilidad, solo es para atrás. Es decir desde una versión más moderna de Firebird podrás abrir una base de datos creada con una versión antigua. Pero no es completa, y lo que seguro que no hay es compatibilidad hacia adelante, si intentas abrir desde una versión antigua de Firebird (o Interbase) una base de datos creado con una versión más moderna de Firebird (o Interbase), entonces te saltará un error como el que tienes ahora, diciendo que no es capaz de entender la Estructura En Disco de esa base de datos.

También tienes que tener muy claro que Firebird e Interbase son dos productos distintos. Aunque tienen un origen común, ya llevan muchos años evolucionando por separado, así que de la misma forma, uno no va a poder leer las bases de datos creadas con el otro, por muy moderno que sea el Interbase o el Firebird con el que estés probando.

¿ Te das cuenta de que todo tu problema viene porqué no sabes que motor de base de datos tenías instalado ?. Como te han dicho desde el principio, solo tienes que preguntar el motor y versión en el que corría esa base de datos (alguien tiene que saberlo, como mínimo los programadores que accedían a esa base de datos te aseguro que lo sabrán), y cuando vuelvas a instalar ese motor todo funcionará correctamente.

Como estás probando a ciegas, puedes seguir probando todas las versiones de los motores de Interbase y Firebird que han salido estos últimos 20 años (en realidad solo sería probar los 11 motores que te he citado al principio).

O bien puedes asumir que la compatibilidad hacia atrás funciona bien, y que tienes uno de estos dos casos :

A) Estás intentado usar una base de datos moderna en un motor antiguo. Solución : probar con los últimos motores disponibles, es decir Firebird 2.1 e Interbase 2009.

B) Estás intentando utilizar en Firebird una base de datos Interbase, por lo que nunca correrá, pruebes el motor de Firebird que pruebes. Solución : tienes que probar la base de datos con Interbase y no con Firebird.

Todo apunta a que tienes el caso B) (Casimiro ha coincidido en esto), es más por el mensaje de error en tu primer post, ya te he dicho antes de que estoy bastante inclinado a pensar que la base de datos corría concretamente en un Interbase 7.

NOTA: Aunque en primera instancia puedas abrir una base de datos antigua en un motor moderno, por la compatibilidad hacia atrás, es muy probable que más adelante te encuentres con incompatibilidades (consultas que dejan de funcionar porqué el nuevo motor las considera inválidas, etc. ...). Así que si piensas utilizar una base de datos antigua en un motor moderno, prepárate para tener que migrarla y migrar la aplicación (que habrá que reprogramar en parte) a la versión más moderna del motor de base de datos. O bien, de nuevo tu mejor solución consiste en averiguar en que motor y versión del motor se creó y corría exactamente esa base de datos. Solo si pones exactamente esa misma versión podrás estar seguro de que no te va a saltar en cualquier momento una nueva incompatibilidad. De nuevo te invito a que pruebes primero con Interbase 7 (por tener la Estructura En Disco 11, como parece sugerir tu primer mensaje que es la estructura de tu base de datos).

Saludos.

guillotmarc 10-07-2010 00:19:41

Por cierto, házte una copia del archivo de la base de datos, antes de ir probando distintos motores con tu base de datos.

Puesto que los motores modernos actualizarán la Estructura En Disco (ODS) de una base de datos antigua, por lo que una vez abierta la base de datos en un motor moderno, ya no podrás abrirlo en el mismo motor en que se creó originalmente.

Por lo que abres la base de datos en un motor moderno, y te encuentras alguna incompatibilidad que impide que tus aplicaciones funcionen correctamente, ya no podrás poner el motor antiguo original, para evitar esa incompatibilidad.

Saludos.

rgtar 29-08-2010 19:55:33

Consulta por problemas de conexion
 
Hola
Tengo instalado Firebird-2.0.1.12855-1-Win32.exe Y EMS-SQL 2008 en Win-XP y al querer conectar una base de firebird
me da el siguiente error tambien me ha ocurrido con EMS-SQL 2010
Error
Unsupported on-disk structure for file c:\bases de datos\PRUEBA\PRUEBA.fdb found 11.1 support 11.0 SQL cODE -820
IB ERROR NUMER 335533379

Luego de encotrar este problema desinstale Firebird 2.0 e instale Firebird 1.5 y el mansaje que ahora me da es el
siguiente :
Connection failed Server is stopped or unproper cliente library is used to establish connection to the server.
Sql Code -904
IB Error Number335544375
he colocado otros archivos fbclient.dll pero sigue ocurreindo lo mismo
Esto no me pasa con otro archivo de base de datos que toma perfectamente
al firebird 2.0 y que fue creada con anterioridad a la base en cuestion.
Tienes alguna idea. de que se trata?
Muchas Gracias.

Casimiro Notevi 30-08-2010 00:13:51

Tanto en el servidor como en los clientes deben estar instalado la misma versión que la de creación de la base de datos. O sea, la misma versión en todos.

rgtar 30-08-2010 21:26:12

Continuacion de la consulta
 
Gracias por tu respuesta.
Lo que ocurre es que se trata de una una pc donde estoy haciendo la prueba. el mismo equipo es el propio servidor y cliente, no hay otros equipos conectados, por lo tanto tiene la misma version, asi que no se me ocurre que puede ser.
Seguire haciendo otras pruebas
Gracias.

Casimiro Notevi 30-08-2010 22:00:51

¿Y esa base de datos ha sido creada con esa versión de firebird?

rgtar 30-08-2010 22:32:45

Continuacion de la consulta
 
No lo se, lo tengo que averiguar, no se si hay alguna herramienta que pueda identificarlo. pero tratarè de averiguarlo.
El tema es que, de esta base tengo backup o copia de seguridad de varios meses atras, y con ese backup no tengo problemas para acceder con el firebird 2.0, pero con la ultima copia de la base tengo los problemas ya comentados mas arriba, es probable que se le haya realizado algun mantenimiento y se le haya realizado alguan transformacion, pero tengo entendido que no fuè asi.
Voy a tratar de obtener mas datos.
Muchas Gracias.


La franja horaria es GMT +2. Ahora son las 02:45:33.

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