FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Firebird, Interbase, dbexpress, gds32.dll y fbclient.dll: Aclarando cunfusiones
Hola. Después de estar varias horas rebuscando por los foros y encontrar bastantes post contradictorios o confusos, me he decidido a hacer una prueba para comprobar el manido asunto de la librería que hay que usar dentro de Delphi cuando se utiliza Firebird. Corregidme en lo que me haya equivocado, por favor. Allá voy:
En realidad, cuando se instala Delphi (2007 en mi caso), si no se instala después Interbase desde el CD, no se instala (obviamente) GDS32.DLL. He probado a echar a andar una miniaplicación con un DataSet (ConnectionName: IBConnection; DriverName: Interbase; VendorLib: GDS32.DLL), un DataSource y un Grid (lo del Grid es puramente neurótico) y me dice (como es lógico) que no encuentra GDS32.DLL. Más tarde, instalo FireBird (2.5) y ahora sí funciona la estructura anterior (como era de esperar). ¿Por qué? Pues porque FireBird instala un reemplazo especial de la librería GDS32.DLL. Esa librería redirecciona las llamadas a Interbase a nuestra querida librería FBCLIENT.DLL. Delphi cree que está usando Interbase (porque llama a GDS32.DLL), pero en realidad está trabajando con FireBird. Esto que a los más experimentados puede parecerles de lo más obvio, a mi me ha costado un día de estrujar al Google. Pero qué a gusto me he quedado Supongo que Delphi XE o XE2 (no recuerdo ahora cuál era), con su driver especial para Firebird vendrá a paliar alguna incompatibilidad (que desconozco, pero intuyo) que pueda generar esta forma de trabajar (hacerle creer a Delphi que usa un driver de Interbase cuando, realmentem usa Firebird... que es un fork bastante separado ya de Interbase). Lo que no me queda claro es lo siguiente: Yo suelo ser bastante neurótico con las instalaciones. Llevo años trabajando con Delphi corriendo sobre XP (y ahora Windows 7) en máquinas virtuales VirtualBox (antes VMware) en Linux. Me funciona de maravilla y puedo ir hacia atrás en el tiempo fácilmente con el sistema de snapshots, instantáneas o como se le quiera llamar. Quiero decir con esto que procuro hacer una instalación escrupulosa del sistema y hago inmediatamente una foto, para poder volver a ella si es necesario. En esa instalación, que me suele acompañar varios años, nunca instalo Interbase, pues sé que voy a usar Firebird; sin embargo... si alguien ha instalado Interbase, se supone que FireBird sobreescribe GDS32.DLL para sustituirlo con su versión... ¿no? |
#2
|
||||
|
||||
Interbase usaba y usa gds32.dll y cuando pusieron como software libre la versión 6.0 fue cuando se creó firebird 1, que no era más que interbase 6 con el nombre cambiado y poquitos cambios.
Luego interbase decidió cerrar de nuevo interbase. Y firebird siguió su rumbo independientemente. Después de la siguiente versión de firebird, que tenía numerosos cambios, incluso lo rehicieron todo usando otro lenguaje de programación, decidieron también cambiar la dll por otra más acorde al proyecto: fbclient.dll Cuando instalas firebird verás que hay una casilla (checkbox) que si lo marcas te copia fbclient.dll como gds32.dll por si acaso usas algún programa que necesite la de interbase. Cita:
El problema viene de las distintas cosas nuevas que se le han añadido a firebird (e interbase) y que no están contempladas en la otra. Pero básicamente, lo elemental para funcionar el sistema, son similares. Espero no haberte confundido más |
#3
|
|||
|
|||
Cita:
Cita:
|
#4
|
||||
|
||||
Que yo sepa, lo único que han hecho en delphi es "ajustar" el componente dbexpres (DBX) para un mejor funcionamiento con firebird, nada más. Y sólo viene en la versión más cara, creo que se llama 'enterprise', en las otras tampoco.
Ten en cuenta que interbase es de embarcadero, por lo tanto, no quieren hacer nada que favorezca a firebird, que es su competencia, además que interbase es 'privativa' y de pago, mientras que firebird es libre y gratis. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Al intentar conectame a una interbase 'Access violation en module gds32.dll' | eyscom | Firebird e Interbase | 4 | 10-03-2010 10:48:35 |
gds32 o fbclient | Leonardo | Conexión con bases de datos | 1 | 06-06-2006 11:53:46 |
DbExpress o interbase | felixgo | Conexión con bases de datos | 0 | 27-09-2005 12:20:43 |
InterBase + dbExpress y CGI | Slash | Internet | 4 | 27-04-2004 15:52:40 |
dbExpress e Interbase | SKaRCHa | Firebird e Interbase | 6 | 08-05-2003 14:42:29 |
|