Ver Mensaje Individual
  #12  
Antiguo 30-06-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Yo no descartaría dbExpress por el tema de las dll. En realidad la única imprescindible es el comentado cliente de Interbase, o sea la gds32.dll.

Las otras dos librerías que se distribuyen habitualmente, dbexpint.dll (el driver dbExpress para Interbase) y Midas.dll (el motor de los clientdatasets), se pueden linkar directamente en tu ejecutable. Con lo que al precio de tener un ejecutable de un tamaño ligeramente mayor, no deberás distribuir absolutamente ninguna dll (excepto logicamente el cliente de Interbase, pero esa dll la tendrás que distribuir siempre, usando dbExpress, IBX, IBO, FreeIB, FibPlus, Zeos, UIB, ...). En la ayuda, en el tema distributing database applications, denntro del apartado para dbExpress busca las referencias a static linking.

NOTA : Por lo que sé, las únicas aplicaciones que pueden pasar incluso del gds32.dll, són las que utilizen el proveedor para ADO.NET de Carlos Guzmán Alvarez (el proveedor implementa directamente las funciones del API, por lo que no lo necesita). Pero hasta que no tengamos un Delphi.NET, no es una opción que parece que debamos considerar (a menos que quieras cambiar a C#)

Uso habitualmente dbExpress y estoy muy satisfecho con él. Aunque ciertamente no tiene el mismo rendimiento que unos componentes nativos, y le falta alguna funcionalidad : sobre el tema de poder aprovechar totalmente las magníficas transacciones de Interbase, eventos de Interbase, servicios para Backup, ... Aún así es la opción que he escogido.

Volviendo al tema inicial, dbExpress es perfecto para cambiar la interfaz de la base de datos, sin practicamente cambiar código. Eso es así porqué se ha diseñado especificamente para ser independiente de la base de datos. Cambia cuatro parámetros de la conexión y la aplicación que corría en Oracle, pasará a funcionar perfectamente sobre Informix (solo habrá que tener en cuenta las diferencias en las distintas sintaxis SQL de cada Servidor, peró no el código interno de tu programa).

En concreto, me encontré que al instalar FB 1.5, una consulta provocaba aleatoriamente un error. Parece ser que el driver de Borland no funciona muy bien con FB 1.5. Para solucionarlo, nada más fácil que ir a www.upscene.com y bajarte su driver para Firebird (es de pago, pero muy económico y tiene una trial de un mes). Cambias la conexión para que utilize el nuevo driver y problema resuelto.

Esta es una de las ventajas de dbExpress, como solo tiene que proporcionar cursores unidireccionales de solo lectura (más fácil imposible), es lógico esperar que alguien adapte el driver (sobre todo si gana dinero con ello, como es el caso de la gente de UpScene). LA mala noticia es que ese driver ya ha sido descartado que forme parte del proyecto de Firebird (era de esperar, puesto que UpScene es uno de los principales patrocinadores de Firebird).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita