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 15-09-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Question Cual es la mejor opción de conexión a Bases de Datos en Lazarus para ... ?

Hola,

Después de muchísimo tiempo intento de nuevo probar Lazarus. En aquella ocasión me topé con un problema, para mi muy grave, que espero que ya esté resuelto.

La pregunta es cual de las opciones de conexión a Bases de Datos (SQLdb, Zeos u otras) disponibles en Lazarus me permite seleccionar a tiempo de ejecución el motor de Bases de Datos ?. O ninguna lo hace aún ?. Si hay más de una que lo hace, cual soporta mayor cantidad de motores ?

El caso es que he estado investigando en Internet; pero, toda la documentación que he encontrado parte del supuesto de que el motor de Base de Datos es conocido a tiempo de compilación, y termina siempre usando componentes que solo sirven para ese motor.

Mi caso es distinto, ya que necesito que el motor solo sea conocido cuando el programa está en ejecución; o sea, necesito que los componentes de conexión sean genéricos. Lo más cercano que he visto es un componente para conexión ODBC. Eso sirve; pero no es lo deseable porque descarta el uso de librerías cliente nativas.

En aquella ocasión la explicación que encontré fué que cuando se compilaba bajo Linux el ejecutable resultante no podía cargar dinámicamente librerías (o no lo hacía muy bien; no recuerdo con claridad ese detalle). Como Lazarus es portable, eso obligaba a que, para tener la habilidad de seleccionar dinámicamente el motor, se tuviera que compilar estáticamente todas las librerías de todos los motores a soportar; lo que es una penalidad alta y por ello nadie había trabajado en una tecnología que soportara esa selección dinámica. Se ha superado esa situación ?
Responder Con Cita
  #2  
Antiguo 15-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Que yo sepa (aunque yo sólo sé que no sé nada) ZeosLib, 'de toda la vida' permite conectar a distintas bases de datos. Por lo que supongo que tiene que dar igual si lo hace en tiempo de diseño o en ejecución.
Responder Con Cita
  #3  
Antiguo 15-09-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
ZeosLib permite seleccionar en tiempo de ejecución el motor de base de datos cambiando un par de propiedades, en ese caso a la hora de establecer la conexión usará las bibliotecas de acceso correspondientes.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #4  
Antiguo 15-09-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Smile Gracias por la información

Hola a todos,

Gracias por la información. Voy a concentrarme entonces en Zeos. Haré pruebas y la semana entrante les comento como me fué.

Saludos
Responder Con Cita
  #5  
Antiguo 15-09-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
Si optas por Lazarus Codetyphon, ya trae los componentes ZeosLib preinstalados.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #6  
Antiguo 15-09-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Smile Había empezado por ahí

Cita:
Empezado por rretamar Ver Mensaje
Si optas por Lazarus Codetyphon, ya trae los componentes ZeosLib preinstalados.
Hola,

Gracias por la observación. De hecho, ya había empezado por ahí. Hice la pregunta cuando ya había instalado CodeTyphon.

Adelanto que ya hice una prueba preliminar de conectarme a una Base de Datos a tiempo de ejecución y efectuar un Query. Fué muy satisfactoria y realmente la pude armar en minutos. El paso siguiente es hacer pruebas más a fondo y si todo sale bien migrar mis componentes de Base de Datos para que desciendan de los de Zeos.

Curiosamente, lo que más problema me ha dado hasta ahora no ha sido eso sino el editor. Tiene demasiada opciones y muchas con nombres poco intuitivos. Me llevó más de una hora configurarlo para que se pareciera lo suficiente a mi editor usual de Delphi para trabajar aceptablemente. Aún hay aspectos que me resultan incómodos; pero, la otra semana trabajaré en ajustarlo.

Saludos
Responder Con Cita
  #7  
Antiguo 23-09-2012
Chandra_ Chandra_ is offline
Miembro
 
Registrado: may 2008
Posts: 50
Poder: 16
Chandra_ Va por buen camino
Hola. Yo estoy migrando una aplicación Windows mía de Delphi 2007 a Lazarus (corriendo sobre Linux). Para el tema de bases de datos, utilizo los componentes que trae Lazarus, y no he tenido ningún problema.

Utilizo el siguiente esquema para conectar a una tabla de una BD Firebird (todo componentes nativos Lazarus):

Pongo en el form:
  • TIBConnection
  • TSQLTransaction
  • TSQLQuery
  • TDatasource
  • TDBGrid
Y los "entrelazo" de la siguiente forma:

TIBConnection
  • DatabaseName=/una/ruta/cualquiera/basededatos.fdb
  • Password=masterkey
  • Username=sysdba
  • Transaction=SQLTransaction1
  • Connected = True
SQLTransaction1
  • Database=IBConnection1
  • Active =True;
TSQLQuery
  • Database:IBConnection1
  • SQL=select * from una_tabla;
  • Active = True;
TDatasource
  • DataSet=SQLQuery1
TDBGrid
  • DataSource = DataSource1
Luego, si quiero seguir enlazando con otras tablas de la base de datos, simplemente voy añadiendo al form más "parejas" de TSQLQuery con su TDatasource, enlazados a los anteriores.

Es muy fácil y funciona de maravilla.

Por cierto, estoy como un niño con un juguete nuevo con Lazarus 1.0. Me encanta, funciona como un reloj suizo, no hace cosas raras como antaño y, si todo va bien (toquemos madera), me va a permitir quedarme en Linux y salir a otras plataformas sólo para compilar . Es un sueño hecho realidad (espero no despertarme).

Además, si hay suerte, se acabaron los sablazos de las actualizaciones de Delphi (cada vez más caras y, últimamente, obligatorias si no quieres perder la oportunidad de pagar menos).
Responder Con Cita
  #8  
Antiguo 24-09-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Gracias por el dato

Hola Chandra,

Gracias por los comentarios.

En mi caso, uso un esquema diferente. Lo de TIBConnection no me sirve porque necesito portabilidad de Base de Datos; el enlace con los TDBGrid, y por supuesto los TDataSource tampoco porque mis servidores, como expliqué antes, son totalmente independientes del cliente. No uso por tanto componentes TDataSource no TDBxxx.

Sin embargo. tú infprmación seguramente será util a muchos así que es un buen aporte.

Vale anotar que yo también estoy preparando el "divorcio" con Delphi. En mi caso tomará tiempo porque es demasiado el código que tengo desrrollado; pero, es una opción que se me está volviendo inevitable, no tanto por el aspecto económico, sino porque Delphi esta transitando desde hace mucho tiempo un camino bastante alejado de mis necesidades.
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
cual es la mejor opcion para conectar delphi 2007 con firebird 2 hibero Conexión con bases de datos 16 27-10-2008 03:32:01
Cual es la mejor opcion para un sistema de esta clase... jcarteagaf Varios 10 24-09-2008 23:57:51
Cual es la mejor opcion para imprimir ticket en impresora matricial hibero Impresión 12 24-05-2008 00:16:33
Sobre cuál es la mejor opción para trabajar con Word Gabo Servers 6 16-01-2008 13:36:21
Cual es la mejor opción para imprimir ?? Delphitest Impresión 4 27-10-2006 21:50:59


La franja horaria es GMT +2. Ahora son las 00:42:32.


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