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.042
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.042
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: 19
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
  #7  
Antiguo 09-03-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Hola.
Podrías, si no es molestia, explayarte más en eso de que "fue un desastre total" lo de intentar implementar Linux en los escritorios. Me interesa conocer este tipo de comentarios.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #8  
Antiguo 09-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No entiendo lo que dices de que haya pocas posibilidades para instalar servidores linux, teniendo en cuenta mi experiencia: desde 1998 sólo instalamos servidores linux y nunca hemos tenido ningún problema.
Cualquier componente de acceso a BD le indicas la dirección del servidor y punto, no hay más problema.
Seguramente no he entendido lo que has dicho.
Responder Con Cita
  #9  
Antiguo 09-03-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Sigo sin avanzar, de que forma o con que componente me puedo conectar a una base de datos en Postgresql v.9.1.3.1 con Lazarus?
Responder Con Cita
  #10  
Antiguo 09-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿No te sirven los zeos?
Responder Con Cita
  #11  
Antiguo 09-03-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Los Zeos Alpha, o TPQConnection de la paleta sql db.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #12  
Antiguo 09-03-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Me sirve cualquiera pero por ejemplo el Zeos 7 que todavía no es la version estable solo llega hasta la version 8.4 del Posgresql, esa es mi duda, pues quería usar la ultima version la 9.1.3.1, en el caso de TPQConnection lo use y me dio un error, el lunes les digo cual pues tengo todo eso instalado en la laptop en mi casa, donde hago las pruebas.
Y muchas gracias.
Responder Con Cita
  #13  
Antiguo 09-03-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Puedes averiguar con http://www.microolap.com/products/co...y/postgresdac/ (parece que el desarrollador de esa lib lo ha probado en lazarus:http://pgolub.wordpress.com/2011/03/...meets-lazarus/)

o con http://www.da-soft.com/ (la ultima vez que probe en linux ok, pero como necesitaba OSX ahi si no me dio, Quizas ahora es mucho mejor)

Y de todos, este tiene soporte oficial para linux, e incluso iOS!

http://www.devart.com/pgdac/

He usado devart en los componentes .net y me ha ido muy bien
__________________
El malabarista.
Responder Con Cita
  #14  
Antiguo 10-03-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Extiendo la explicación

Cita:
Empezado por rretamar Ver Mensaje
Hola.
Podrías, si no es molestia, explayarte más en eso de que "fue un desastre total" lo de intentar implementar Linux en los escritorios. Me interesa conocer este tipo de comentarios.
Hola,

Bueno, te explico mejor:

El problema no es que nosotros escribamos clientes Linux usando por ejemplo Lazarus. Digamos que hicieramos un cliente super bueno para nuestro sistema. Eso suena muy bien; pero, para que tenga sentido que escribamos tal programa hay que partir de que el usuario tenga instalado Linux. Ahora bien, un usuario normal no trabaja solo con nuestro sistema; el tiene que utilizar otra serie de aplicativos, tales como hojas electrónicas, procesadores de palabras, etc. Por lo tanto, se necesita que pueda laborar por lo menos igual de bien como lo hace con Windows. En otras palabras, no podemos mirar solo nuestro sistema, hay que ver todo el entorno.

En el caso que comentaba, se trata de una empresa mediana (entee 60 y 80 usuarios regulares). Independientemente del sistema que desarrollamos, se tuvo la idea de abaratar costos instalando Linux en los equipos; pero, antes de hacerlo se pensó en realizar un piloto para observar como reaccionarían y como podía verse afectada la productividad. Fué una sabia decisión.

Para ello se usaron varios empleados de áreas no críticas y se les instalaron productos típicos que se usarían bajo Linux, tales como Open Office. Ahi es donde digo que el resultado fué una total catástrofe. Y no es ni siquiera por el sistema Linux en si mismo ni por las capacidades nativas de las herramientas usadas; el problema es la compatibilidad con el mundo exterior porque no solo los documentos históricos, sino también los producidos por otros empleados y, sobretodo los recibidos de otras empresas o entes, no salen bien en las herramientas que probamos. Si es por ejemplo documento de docx, la mayoría se muestran descuadrados y es un problema su lectura o edición. Los usuarios estaban histéricos y nos involucraron a nosotros para que los ayudaramos en sus pruebas, con lo cual hasta nosotros mismos perdimos mucho tiempo tratando de arreglar los montones de problemas.

La conclusión a que se llegó es que resultaba más costoso, sobre todo en productividad, el tratar de implantar Linux que el ahorro que podría conseguirse por el tema de las licencias; así que se abandonó la idea.

La lección es que en un ambiente como el nuestro, donde todo el entorno es Windows, no es recomendable la opción de Linux para equipos clientes. Claro está, en empresas mucho más pequeñas puede ser una opción, o en entornos donde haya un fuerte desarrollo de Linux.

Ahora, Windows está sobradamente extendido en el mundo, así que las condiciones de nosotros son las de la mayoría de empresas; por eso dije que no entendía la razón de haber gastado tanto esfuerzo en componentes para la parte cliente en Linux, en lugar de hacerlo para la parte servidora. La parte servidora si es atractiva porque son equipos manejados por personal técnico de sistemas y donde, para seguir con el ejemplo, no vas a estar trabajando un documento docx. Aparte de eso, es un hecho conocido la mayor estabilidad y rendimiento de los servidores Linux. La lógica comercial me dice entonces que los lenguajes de programación, caso Lazarus o lo que fué Kylix deberían centrar su atención en la parte servidora; o sea el Web Server y las conexiones a las bases de datos; pero, ese lado está muy pobre (o al menos lo estaba en ese entonces) en comparación a su contraparte Windows (lease dbExpress, etc)
Responder Con Cita
  #15  
Antiguo 26-05-2012
elopezarias elopezarias is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 1
Poder: 0
elopezarias Va por buen camino
A todos logre conectar Lazarus 0.9.32.2 a PostgreSQL 9.1 con ZeosLib 6.6.6, les explico, cuando instalamos Zeos Lib 6.6.6 y deseamos conectar Lazarus con PostgreSQL 9.1 nos encontramos con la terrible despcion de que no soporta sino la versión 7 y 8, el truco es el siguiente existe una libreria muy conocida por los programadores en PHP que es libpq.dll que es la encargad de dar acceso a PostgreSQL pues entonces si descargamos esa libreria minimo la version 8.36.9034 que es la que conecta con la version 9.1 y la ubicamos en la carpeta donde tenemos lazarus, normalmente c:\lazarus, y despues colocamos un ZConnection, con las siguiente configuracion Databaseostgres (o a la base que usted quiere conectar), hostname:localhost, passwordla que usted asigno de administrador), port:5432 (lo puede dejar en 0 no importa), protocolo: postgresql (importante), userostgres, y conneted a true y ¡GUALÁ! estamos conectados, coloquemos un ztable para probar y seleccionemos una tabla aparece una lista interminable y uno piensa esto no funciono pero si tiene alguna tabla creada debe a parecer algo asi como public.(nombre de la tabla) secleccionamos y activamos, ahora a compilar, si nos sale el error de libreria libpq.dll no encontrada es porque la debemos tambien copiar en el directorio donde esta la fuente del proyecto porque ahi se genera el ejecutable y para correr solicita es libreria, he modificado, agregado y borrado registro y todo funciona.
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 02:05:05.


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