Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Cool ADO Vs ODBC Vs ZEOS LIB

Las razones por las cuales coloco este hilo aqui es porque SOLO Clubdelphi puede responderlo con la CALIDAD experimentada de los colaboradores, mi consulta es: Cual es la mejor forma de accesar a una base de datos Mysql: ADO, ODBC o ZeosLib? Desde ya agradecido! y cuales son las ventajas de uno sobre otro?
Responder Con Cita
  #2  
Antiguo 09-03-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Accesar, accesar... Pues no, con "accesar" no me sale nada. ¿Es un nuevo paradigma de programación? ¿Un nuevo protocolo de comunicaciones?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 09-03-2011
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Yo usaría DBExpress, por lo menos es el mas rápido..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #4  
Antiguo 09-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Accesar, accesar... Pues no, con "accesar" no me sale nada. ¿Es un nuevo paradigma de programación? ¿Un nuevo protocolo de comunicaciones?
Creo que algunas personas usan esa palabra para decir "acceder", no sé por qué, seguramente es algún derivado de una palabra en inglés, aunque no puedo confirmarlo.

Si está preguntando qué componentes se puede usar para acceder a mysql, de los nombrados, yo optaría por zeos o por el que ha indicado Delfino.
Responder Con Cita
  #5  
Antiguo 09-03-2011
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Diego827, siempre ha de buscarse el menor número de intermediarios entre una aplicación y el acceso de este hacia la base de datos (creo que le llaman, capas...), junto con la velocidad en que lo hacen. ODBC queda en último lugar, siendo Zeos, más compatible.

Ahora, también depende de que base de datos uses, ya que hay componentes especializados en alguna BD, donde la velocidad de accesos aumenta considerablemente.
Responder Con Cita
  #6  
Antiguo 09-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Efectivamente estoy totalmente con MAXIUM, lo primero es que... hay que conocer como funcionan las diferentes tecnologías de acceso, para escoger la mejor...
A continuacion te pongo una imagenes que estan en la página de los componentes MyDAC que tambien sirven para conectarse a MySQL, desde luego éstos componentes son de pago y mi propósito no es hacerles publicidad sino poderte mostrar en imagenes la manera en que se puede trabajar para acceder a una DB ya que "una imagen vale más que mil palabras"

Si trabajamos con los componentes de la paleta BDE la conexion sería:

Lógicamente usando ADO para conectar a MySQL la imagen de conexion sería muy similar a la anterior(no tengo ninguna imagen para mostrarte ) pero seria algo como:
Cita:
Programa <---> ADO <---> Proveedor de datos <---> Base de datos
Si usamos los componentes Zeos ,pues internamente éstos componentes utilizan la librería cliente de MySQL(*.dll) para conectarse por lo cual la imagen sería algo como:

Desde luego existen componentes que la conexion lo hacen directamente (sin intermediario) con lo cual tenemos la siguiente Imagen:

Espero haber podido colaborar en algo...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 09-03-2011 a las 18:12:33.
Responder Con Cita
  #7  
Antiguo 09-03-2011
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Empezado por rgstuamigo Ver Mensaje
Desde luego existen componentes que la conexion lo hacen directamente (sin intermediario) con lo cual tenemos la siguiente Imagen:
Los componentes nunca hablaran directamente con la BD. Siempre habrá una dll, API etc. que ejerce de intermediario entre los componentes y el servidor. Por lo que el ultima imagen no existe en el caso de BDs cliente servidor..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #8  
Antiguo 09-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Delfino Ver Mensaje
Yo usaría DBExpress, por lo menos es el mas rápido..
También yo optaría por dbExpress (a veces llamado DBX). Es nativo, rápido y relativamente preparado para cuando el patrón diga: "pero yo quiero que la base de datos sea Oracle / Firebird / DB2 / SQL Server / Informix / etc.".

Además, esto "obliga" a usar TClientDataSet, con lo cual tienes un montón de ventajas para el manejo de los registros en el lado cliente.

El hacerlo en dos o tres capas es opcional. Se tiene el mito de que al usar dbExpress hay que tener un servidor de aplicaciones (capa intermedia); pues no es así.

Saludos.

Al González.

P.D. Y sí, es acceder, no accesar. Y, en el caso de una DLL, una colección de clases, una colección de funciones, etc., es biblioteca, no librería.

Última edición por Al González fecha: 09-03-2011 a las 17:49:26.
Responder Con Cita
  #9  
Antiguo 09-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si esa API fuesen las propias funciones de la misma BD, entonces sí sería posible hacerlo sin intermediario alguno.
Responder Con Cita
  #10  
Antiguo 09-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por Delfino Ver Mensaje
Los componentes nunca hablaran directamente con la BD. Siempre habrá una dll, API etc. que ejerce de intermediario entre los componentes y el servidor. Por lo que el ultima imagen no existe en el caso de BDs cliente servidor..
Es lógico lo que tú dices, pero hay que entender que muchas veces tales API y/o dll son implementadas o utilizadas directamente en los componentes, sin necesidad de tener una DLL, de ahí que los componentes MyDAC por ejemplo pueden trabajar en "modo cliente"(usando la dll) o en modo nativo(sin ninguna dll).
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #11  
Antiguo 09-03-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Thumbs up

Cita:
Empezado por rgstuamigo Ver Mensaje
Efectivamente estoy totalmente con MAXIUM, lo primero es que... hay que conocer como funcionan las diferentes tecnologías de acceso, para escoger la mejor...
A continuacion te pongo una imagenes que estan en la página de los componentes MyDAC que tambien sirven para conectarse a MySQL, desde luego éstos componentes son de pago y mi propósito no es hacerles publicidad sino poderte mostrar en imagenes la manera en que se puede trabajar para acceder a una DB ya que "una imagen vale más que mil palabras"

Si trabajamos con los componentes de la paleta BDE la conexion sería:

Lógicamente usando ADO para conectar a MySQL la imagen de conexion sería muy similar a la anterior(no tengo ninguna imagen para mostrarte ) pero seria algo como:

Si usamos los componentes Zeos ,pues internamente éstos componentes utilizan la librería cliente de MySQL(*.dll) para conectarse por lo cual la imagen sería algo como:

Desde luego existen componentes que la conexion lo hacen directamente (sin intermediario) con lo cual tenemos la siguiente Imagen:

Espero haber podido colaborar en algo...
Saludos...
Agradezco muuucho la dedicacion de tu respuesta rgstuamigo!!! como siempre: Casimiro una gran ayuda y de Delfino no digamos!!! gracias. Creo que ahora me queda claro que mientras menos intermediarios (capas) existan entre la base de datos y la aplicacion es mejor (ahora obvio antes no tanto , muy agradecido MAXIUM). Gracias!!!

Saludos -+-
Responder Con Cita
  #12  
Antiguo 09-03-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Cita:
Empezado por Diego827 Ver Mensaje
Las razones por las cuales coloco este hilo aqui es porque SOLO Clubdelphi puede responderlo con la CALIDAD experimentada de los colaboradores, mi consulta es: Cual es la mejor forma de accesar a una base de datos Mysql: ADO, ODBC o ZeosLib? Desde ya agradecido! y cuales son las ventajas de uno sobre otro?
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Accesar, accesar... Pues no, con "accesar" no me sale nada. ¿Es un nuevo paradigma de programación? ¿Un nuevo protocolo de comunicaciones?
Lo siento!!!
Responder Con Cita
  #13  
Antiguo 09-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Diego827 Ver Mensaje
[..] Creo que ahora me queda claro que mientras menos intermediarios (capas) existan entre la base de datos y la aplicacion es mejor (ahora obvio antes no tanto
Eso depende, no hay nada "mejor o peor", todo es relativo. Por ejemplo, usas firebird y has elegido los componentes de accedo directo IBX (los que vienen con delphi). Perfecto, accede muy rápidamente y estás contentísimo, pero un día llega un cliente y dice: "es que aquí nosotros usamos postgresql", ¿qué haces?.
Lo tienes difícil en ese caso.
Pero si en lugar de IBX, te decantaras por Zeos (por ejemplo), entonces casi no tendrías problemas en acceder a ambas BD, salvo algunos arreglitos que siempre son necesarios.
Por eso, todo depende, depende de lo que quieres hacer y del futuro de lo que quieras hacer.
Responder Con Cita
  #14  
Antiguo 09-03-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Yo apoyo la respuesta de Al, en un 100% estoy de acuerdo con todo...

sobre todo por que hay que mirar a futuro, el respaldo y adaptabilidad que tendrá tu aplciación a nuevas tecnologías, y esta es a la que le está apostando Embarcadero

Cita:
Empezado por Al González Ver Mensaje
También yo optaría por dbExpress (a veces llamado DBX). Es nativo, rápido y relativamente preparado para cuando el patrón diga: "pero yo quiero que la base de datos sea Oracle / Firebird / DB2 / SQL Server / Informix / etc.".

Además, esto "obliga" a usar TClientDataSet, con lo cual tienes un montón de ventajas para el manejo de los registros en el lado cliente.

El hacerlo en dos o tres capas es opcional. Se tiene el mito de que al usar dbExpress hay que tener un servidor de aplicaciones (capa intermedia); pues no es así.

Saludos.

Al González.

P.D. Y sí, es acceder, no accesar. Y, en el caso de una DLL, una colección de clases, una colección de funciones, etc., es biblioteca, no librería.
Zeos, me pareció muy bueno cuando lo utilicé (para trabajar con PostgreSQL), pero finalmente me decidí por dbExpress por las razones que expone Al...

A proposito para trabajar PostgreSQL con dbExpress recomiendo utilizar el driver de la pagina de DevArt...

En cuanto a "accesar", "acceder", "Pegarle a (una base)", etc, etc, creo que es irrelevante para el caso, como dicen por ahi " a buen entendedor pocas palabras" y cuando uno quiere ayudar, sencillamente ayuda... y ya..

saludos,
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
ODBC y las GDB JulioGO Firebird e Interbase 1 31-03-2005 10:01:16
ODBC Interbase karocs Conexión con bases de datos 0 16-09-2004 18:19:47
zeos-odbc reyneli MySQL 1 20-07-2004 15:21:17
Odbc altp Conexión con bases de datos 1 28-02-2004 11:36:34
Odbc mateamargo Conexión con bases de datos 0 10-02-2004 15:52:12


La franja horaria es GMT +2. Ahora son las 16:25:11.


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