PDA

Ver la Versión Completa : DBExpress para Firebird


taote
16-02-2004, 13:05:59
Hola a todos:

Estoy decidiendo que sistema de bases de datos utilizar bajo Delphi 6. Despues de varias opciones lo más probable es que usemos Firebird. Estoy realizando las pruebas conectando mediante ADO y DBExpress.

Mediante ADO he utilizado el ODBC que viene en IBPhoenix y me he encontrado más de un error, como devolver el conjunto de registros vacios o que si ejecuto una consulta sin poner el Prepared a true, me da un fallo al hacer un First o un Next. Por lo que ahora mismo estoy probando el driver de Easysoft.

Tambien he probado con DBExpress que viene con Delphi 6 Professional, y me ofrece un rendimiento bastante similar. casi que me decidiría por DBE, pero la duda me surge al leer otros hilos y pensar que Firebird a partir de la versión 1.5 no guardará una compatibilidad 100% con Interbase, al menos no se asegura que utilizando el DBE de Interbase de Delphi 6 se tenga una compatibilidad 100%. Si esto es asi, ¿que drivers son recomendables utilizar? ¿que tal los que ofrece upscene?

Gracias de antemano por las respuestas.

guillotmarc
16-02-2004, 13:31:16
Hola.

En lugar de usar el driver odbc open source, podrias probar con un driver comercial, como el de EasySoft. Aunque mejor podrias provar con un driver OleDB (así te ahorras la capa adicional del gateway ODBC), el driver que tengo entendido que da muy buen resultado es el SIBProvider (además es freeware).

Aqui tienes una lista bastante completa : http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_int_comps

Respecto al driver dbExpress de Upscene, es muy bueno, parece completamente libre de errores (lo he probado a conciencia). Aún no lo utilizo porqué no he hecho el cambio de Firebird 1.03 a 1.5, por lo que el driver de Borland aún me sirve, y al cambiar de un driver por otro, cambian los tipos con los que reconoce los campos con decimales (por lo que hay que volver a regenerar los campos persistentes), esto no es un problema del driver de Upscene, es que Borland ha decidido cambiar los campos reconocidos en el driver de Delphi 7 (para que sean más compatibles con las consultas sobre otras bases de datos), y Upscene ha decidido seguir la definición del último driver de Borland.

NOTA : Hay otro driver dbExpress para Firebird 1.5, el de las Unified Interbase. www.progdigy.com (http://www.progdigy.com/) Pero aún está en fase beta, y tiene que solventar algunos problemas con el nivel de aislamiento de las transacciones implicitas. Lo bueno es que este driver es Freeware / Open Source.

Saludos.

taote
16-02-2004, 13:47:01
Gracias por la rapida respuesta. Dos cosas mas:

¿que crees que ofrece mejor rendimiento? ADO o DBExpress o ¿para asegurar mayor compatibilidad por donde tirarías?

Por otro lado, he instalado el driver de UpScene, pero al seleccionarlo en el componente de conexión, en los parámetros de conexion solo me muestra la clave driverName, ¿Como puedo seleccionar donde está fisicamente la base de datos?

SalU2

guillotmarc
16-02-2004, 14:15:34
Hola.
Los parámetros de la conexión mediante el driver dbExpress de Upscene són exactamente los mismos que con el driver de Borland. Por lo que puedes coger simplemente una conexión ya configurada con el driver de Borland, y cambiar el parámetro DriverName para que pase a funcionar mediante el driver de Upscene.

Yo programo con dbExpress, por lo que te puedes imaginar que cuando me hize esta misma pregunta, opté finalmente por dbExpress. Aunque eso no quiere decir que dbExpress sea mejor que ADO, cada uno tiene que evaluar los pros y los contras de cada tecnología, y escoger la que mas le convenze.

El tema del rendimiento no me parece tan importante, aunque creo que el rendimiento debería ser mejor en dbExpress que con ADO (al intervenir menos capas en el proceso), nunca me he preocupado de medirlo. Puesto que tampoco busco el driver más rapido posible, solo necesito que el rendimiento sea aceptable (y con dbExpress lo es, imagino que con ADO también). Si buscara el driver más rápido posible, imagino que programaría la aplicación con componentes nativos de Interbase/Firebird, como FibPlus, IBO, Unified Interbase, ...

Saludos.

kinobi
16-02-2004, 16:13:14
Hola,

estaba esperando a ver cómo se desarrollaba el hilo, y en vista de que guarda relación con componentes de acceso y controladores para los mismos, se va para el foro de "Conexión con bases de datos".

Dejo un enlace en "InterBase y Firebird".

Saludos.