Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2010
rfernandez rfernandez is offline
Miembro
 
Registrado: ago 2003
Posts: 64
Poder: 21
rfernandez Va por buen camino
Question Atacar Firebird desde Delphi.

Buenas a tod@s,

En breve empezamos nuevo proyecto y quiero empezar desde 0.
Hasta ahora para conectarnos contra Firebird lo hacemos mediante BDE, es lo que tiene ir arrastrando proyectos desde delphi 1.0.

Las proximas aplicaciones tenemos claras que las vamos a realizar en 3 capas mediante DataSnap pero no tenemos claro con que driver atacar fisicamente al Firebird si con ibx, dbexpress, ado.net,....

Agradecería sugerencias o experiencias personales.

Gracias de antemano a tod@s.
Responder Con Cita
  #2  
Antiguo 21-10-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Te recomiendo que utilices dbExpress.

Veamos las alternativas :

IBX no está diseñado para funcionar con Firebird sinó que está diseñado para funcionar con Interbase. Así pues te puedes encontrar con problemas de compatibilidad (pocos, porqué hay mucha gente que usa IBX con Firebird, pero cuanto más avanza Firebird más te vas a encontrar con que algunas de sus mejoras no son accesibles desde IBX).

ADO.Net es para programas .Net. En Delphi para Win32 puedes utilizar ADO, pero o bien utilizas ADO conectado al ODBC de Firebird (lo cual no parece muy óptimo), o bien tienes que utilizar un proveedor OleDB privado. Y no hay muchos en el mercado (que yo sepa solo hay uno, así que cualquier día te puedes encontrar colgado).

Otras posibilidades : Puedes utilizar componentes de terceros, para Delphi, con acceso a Firebird : FIBPlus (muy bueno, pero cada vez parece que está más muerto, hace un año que no se actualiza), IBDAC (buena alternativa), ZeosLib (buenos componentes genéricos, pero tampoco parece que tengan mucha actividad).

Sobretodo me inclino por dbExpress, porqué vas a trabajar con 3 capas, y este es el modo para el que se ha diseñado dbExpress. Es un driver mínimo (con lo que no debería dar muchos problemas) que solo proporciona cursores de solo avance (que es lo único que necesita Datasnap, los cursores bidireccionales para los controles en nuestro programa, los proporciona el ClientDataset que le conectemos).

En definitiva, te recomiendo dbExpress por su simplicidad (lleva solo que se necesita para DataSnap) y porqué puedes encontrar soporte específicico para Firebird a partir de Delphi 2010, en drivers dbExpress comerciales y en drivers dbExpress open source.

Si no quieres usar componentes genéricos, como los dbExpress, puedes usar componentes específicos de Firebird, lo que te permite la ventaja de disponer de controles especiales que te dan acceso al API de Servicios de Firebird, para hacer copias de seguridad, etc. ...

En este caso parece que lo único recomendable es IBDAC y FIBPlus

http://www.devart.com/ibdac/
http://www.devrace.com/en/fibplus/

En caso de que optes por esta solución, yo seguramente me quedaría con los primeros (más que nada porqué tienen más actividad, no porqué sen mejores).

Si quieres una recomendación, yo te recomiendo que optes por dbExpress.

He utilizado ambos (dbExpress en mis proyectos Delphi 6 y FibPlus para mis proyectos Delphi 2007-2010). Y me quedo con dbExpress (estoy pensando en volver a cambiar mis proyectos modernos a dbExpress). Me he encontrado un par de bugs muy molestos en FIBPlus, los cuales no han solucionado, y dado que yo también programo en DataSnap, a fin de cuentas no tengo ninguna ventaja especial por usar FIBPlus, dbExpress me iría igual de bien (o mejor, ya que nunca me dió el menor problema en Delphi 6).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 22-10-2010
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

No te puedo decir si usar esto o aquello ya que no se de que recursoso puedes disponer. pero como dices que van a trbajar en tres capas. Te recomiendo leer acerca de remobjects. Y para la conexion yo usaria fibplus o ib objects. Pero como piensar trabajar en tres capas me inclinaria por fibplus ya que ibobjects ofrece grandes caracteristicas pero son mas para la parte grafica. Esto es de mi parte no quere decir que sea la mejor opcion.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #4  
Antiguo 22-10-2010
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 22
erickperez6 Va por buen camino
Cita:
guillotmarc:

Me he encontrado un par de bugs muy molestos en FIBPlus, los cuales no han solucionado
Me gustaria que comentaras un poco acerca de esos bugs que tiene FIBPlus, creo que serian de interes para todos los que usamos estos componentes y que desconocemos estas fallas,

gracias
Responder Con Cita
  #5  
Antiguo 22-10-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por erickperez6 Ver Mensaje
Me gustaria que comentaras un poco acerca de esos bugs que tiene FIBPlus, creo que serian de interes para todos los que usamos estos componentes y que desconocemos estas fallas,

gracias
Cosas como el tratamiento de los parámetros.

Por ejemplo en Delphi 2010 y FibPlus 6.9.9, me falla el código para guardar un archivo en la base de datos. Es algo muy sencillo, un INSERT INTO xxx (CAMPO_BLOB) values :PARAMETRO.

Pues bien, cargo el archivo en el parámetro con un ParamByName(xxx).LoadFromFile(Archivo) Pero cuando ejecuto la sentencia, no se me guarda nada en la base de datos .

O bien, que todos los parámetros en consultas los trata como strings, y al menos a mi, a veces me hace cosas raras. Sobretodo con las fechas que le paso de un TDbDatetimePicker. Al final tengo que pasarle por código, al parámetro, un FormatFloat('dd/mm/yyyy', Fecha) o un Null si corresponde.

Todo terriblemente molesto, como decía, cuando te lo encuentras.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 24-10-2010
rfernandez rfernandez is offline
Miembro
 
Registrado: ago 2003
Posts: 64
Poder: 21
rfernandez Va por buen camino
Gracias a todos,
Esta semana me llega la licencia del Delphi EX y empezaremos ha hacer pruebas.

Gracias nuevamente.
Responder Con Cita
  #7  
Antiguo 04-11-2010
Chandra_ Chandra_ is offline
Miembro
 
Registrado: may 2008
Posts: 50
Poder: 16
Chandra_ Va por buen camino
Hola

No sé si lo he entendido bien, pero, por lo que comenta guillotmarc, deduzco que puedo usar Firebird + D2007 + dbExpress sin instalar ningún driver adicional ¿o no?

Así llevo trabajando un tiempo y no sé si hago bien o no. Tenía instalado Firebird 2.1.1 (ahora iba a pasarme ya a 2.5) y, aparentemente, todo funcionaba. Tampoco es que haga cosas muy "raras": algún procedimiento almacenado en la base de datos, unos triggers, querys... en fin, lo típico.

Por no repetirme aquí, en este hilo y en este otro he planteado dudas sobre el tema.

Agradecería que alguien me ilustrara sobre este asunto que me trae de cabeza desde ayer.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear procedure en Firebird desde delphi jourdan Firebird e Interbase 9 18-05-2010 06:57:15
Crear DB Firebird desde delphi totote Conexión con bases de datos 3 27-12-2007 02:25:17
conectividad con firebird desde delphi ale21alito Conexión con bases de datos 6 03-04-2005 17:47:32
Generar una DB en Firebird desde Delphi RONPABLO Conexión con bases de datos 1 22-10-2004 09:58:28
acceder a firebird desde Delphi cesarjbf Conexión con bases de datos 3 13-08-2004 13:31:08


La franja horaria es GMT +2. Ahora son las 14:55:31.


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
Copyright 1996-2007 Club Delphi