Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2011
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Question Que componentes de conexión a Bases de Datos usar ?

Hola,

Estamos empezando con Lazarus. La idea es desarrollar un servidor web bajo Linux. Con nuestra compañera de trabajo ya logramos instalar Lazarus en Ubuntu y crear un WebModule que trabaja con Apache 2.2.

El paso siguiente es la conexión a Bases de Datos. El problema es : Cual juego de componentes usar ?. Por lo que hemos leído, dbExpress no está disponible. Hay bastantes familias de componentes; pero, la mayoría parece limitada a trabajar un solo motor.

Nosotros necesitamos que la aplicación permita determinar, a tiempo de ejecución, las librerías adecuadas al motor que en ese momento se esté usando. O sea, por un lado, requerimos que soporte como mínimo ODBC, y por otro enadenamiento dinámico.

En cuanto a lo de ODBC, por supuesto, la idea es que también traiga drivers nativos para varios motores, y mientras más motores soporte en forma nativa mucho mejor.

Lo del encadenamiento dinámico es una preocupación principal. Según leímos, lazarus no lo soporta directamente; pero, parece que se manejan algunas alternativas.

El candidato es por ahora Zeos; pero, que tan similar es a dbExpress ?. Los métodos y propiedades principales trabajan igual ?. Es capaz de determinar dinámicamente el cliente adecuado al motor ?. Que tan confiable es para productos comerciales ?. O sea, alguién ha desarrollado una aplicación realmente seria en Lazarus bajo Linux usando Zeos ? . Hay otras alternativas disponibles ?

Ojalá alguno pueda encaminarnos a los componetes adecuados. Desde ya, muchas gracias
Responder Con Cita
  #2  
Antiguo 24-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.101
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por rolandoj Ver Mensaje
[..] O sea, alguién ha desarrollado una aplicación realmente seria en Lazarus bajo Linux usando Zeos ? . Hay otras alternativas disponibles ? [..]
Zeos es zeos, tanto en windows como en linux, no vas a tener problema por eso.
Responder Con Cita
  #3  
Antiguo 24-08-2011
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Muchas Gracias. Comentarios

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Zeos es zeos, tanto en windows como en linux, no vas a tener problema por eso.
Hola,

Muchas gracias por la respuesta.Tengo a Zeos como primer candidato porque he leído varias recomendaciones en ese sentido; sin embargo, no tengo muchos detalles al respecto.

Por ejemplo, otras dudas que no mencioné en mi primer post : cual es la diferencia entre esos componentes y los que vienen en Lazarus, los SQLdb ? Hay soporte para tipos de datos BCD ?. Hay soporte para Db2 ?. El soporte para SQL standard es completo, facil de usar y confiable ?

Es que los detalles usualmente se aprenden con la experiencia; pero, el estar prevenidos en algunos de ellos es muy importante. Miremos el caso de la última pregunta:

A primera vista, parece una tontería porque uno esperaría que una tecnología lider cumpliera eso; pero, mi experiencia indica que no necesariamente es así. Cuando pasé de BDE a dbExpress, se suponía que dbExpress era mejor y como parte de ello, lógicamente, se esperaría que su soporte a SQL standard fuera completo; pero, me tocó lidear mucho tiempo con errores que tiene, hasta identificarlos y encontrar alternativas alrededor de ellos. Por ejemplo, con el dbExpress que viene en Delphi 2007, si intentas algo como :

SELECT COUNT(CODIGO) FROM DATOS

No te funciona. Tienes que hacer algo como :

SELECT COUNT(CODIGO) LACANTIDAD FROM DATOS

En el caso presente, el aplicativo que queremos hacer en últimas, es realmente una migración desde uno Delphi que usa dbExpress (y antes BDE); por ello preguntaba acerca de la similitud de enfoques entre dbExpress y Zeos, a fin de no tener que recodificar las partes que usan dbExpress ya que son más del 90% de llamadas a clases que no son propias de mi aplicativo.

Esas partes usan realmente clases descendientes de las de dbExpress; es decir, mi propia capa de abstracción, por lo que la idea es reemplazar esa capa para que descienda de componentes análogos de Lazarus; que eso fué lo que hice al pasar de BDE a dbExpress. Ahora, mientras más cercanos sean los escogidos a sus contrapartes dbExpress, el trabajo será más facil.

Así pués, lo que busco es determinar la opción más adecuada para migrar; y saber de antemano los puntos en los que se esperarían problemas.
Responder Con Cita
  #4  
Antiguo 24-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.101
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo mejor que puedes hacer es visitar la web e informarte bien, tienen también foros, por lo que puedes preguntar todo lo que se te ocurra.

En cuanto a BD soportadas, el readme dice:

Cita:
ZeosDBO supports direct connectivity to the following databases using the vendor provided, native interface:
• MySQL 3.20 - 5.0
• PostgreSQL 6.5 - 8.1
• Firebird 1.0 - 2.0
• Interbase 5.0 - 7.5
• Microsoft SQL Server 7, 2000
• Sybase ASE 12.0, 12.5
• Oracle 9i
• SQLite 2.8, 3.5

For other databases we propose to use implemented Active Data Objects (ADO) Bridge.
Advantages of using ZeosDBO:
• Platform independance. The ZeosDBO is highly generic. Applications written in ZeosDBO can be migrated
across databases without major changes.
• ZeosDBO is open source, written for usability and extensibility.
• ZeosDBO leverages the amazing power of the Delphi development environment without relying on a perfor-
mance killing middleware.
• ZeosDBO is an extremely thin abstraction layer, unlike 'thick' layered protocols like ADO and BDE.
Responder Con Cita
  #5  
Antiguo 08-03-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 20
santi33a Va por buen camino
Hola recién descargué la ultima versión de Lazarus (0.9.30) para probar como me va con el soft libre pues en mi empresa quieren migrar todo lo de Windows, siempre he trabajado con Delphi 2010 y MS SQL Server sin problemas, para ello también baje la ultima versión de Postgresql la versión 9.1.3.1.
Ahora que componente usar para comunicame con Postgresql? pues por lo que he leido la ultima versión de Zeus solo soporta hasta la versión 8.4, existe algún otro componente que pueda usar la ultima versión de Postgresql?, es que no quisiera empezar por versiones ya antiguas, no se, que pueden recomendarme?
Y gracias.
Responder Con Cita
  #6  
Antiguo 09-03-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Comentarios

Hola,

Pués por mi parte no puedo ayudarte porque tuvimos muchos problemas con Zeos y congelamos esa parte del proyecto, enfocándonos por ahora en otros aspectos de nuestro software.

Sin embargo, hay un dato que puede interesarte. Parece que Embarcadero si tiene planes a largo plazo de producir una versión de Delphi en Linux para soportar la parte servidora. De hecho, una razón por la que, en nuestro proyecto, no estamos haciendo mayores esfuerzos bajo Linux es en la esperanza de que liberen esa versión; así pués tratamos de hacer primero todo lo que sea posible bajo Windows. Solo intentaremos avanzar bajo Linux si ya no nos queda nada importante que hacer en la versión Windows, o si se libera la versión mencionada (que según la información que nos dieron podría ser a fines de este año o principios del siguiente)

Lo que si no hemos podido entender es por qué ni en Delphi ni en productos similares como Lazarus, no se ha trabajado fuertemente la parte servidora bajo Linux, cuando, comercialmente hablando, esa es la parte realmente interesante. De hecho, en Lazarus encontramos una impresionante cantidad de componentes desarrollados para la parte cliente; pero, en lo que respecta al acceso a la Base de Datos, comparativamente hablando es bastante pobre (o al menos, lo era para fines de Septiembre del año pasado que fué hasta cuando estuvimos trabajando con Zeos)

Es un contraste para nosotros muy extraño porque a nivel empresarial los clientes son esencialmente Windows y es muy dificil, por la interacción con el usuario, cambiar a LInux (en donde trabajabamos se hizo un piloto y fué un desastre total); pero, para una empresa es muy atractivo tener sus servidores en Linux por rendimiento y economía. Concentrar tanto esfuerzo en la parte menos atractiva y descuidar tanto la más atractiva es algo que no entendemos.

Bueno, al parecer ahora si Embarcadero se ha dado cuenta de algo tan obvio y piensan hacer algo al respecto. Espero que esta vez vayan en una buena dirección.
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
Que gestor de bases de datos usar? bustio Varios 3 22-08-2007 02:29:33
que bases de datos puedo usar??? jas010 Conexión con bases de datos 3 07-01-2006 00:59:10
Que sistemas de bases de datos usar? fabiof2000 Conexión con bases de datos 3 03-08-2005 10:09:12
Bases de datos, que usar????? Phacko Firebird e Interbase 7 28-07-2005 19:43:49
Como usar DNS con Bases de datos ClaudioGVera Conexión con bases de datos 0 13-05-2005 21:36:52


La franja horaria es GMT +2. Ahora son las 03:53:55.


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