![]() |
Componentes adecuados para cada base de datos
Hola
En Delphi hay varios componentes para conectar con la base de datos . No sé si hay componentes que sirven para todas las bases de datos , por ejemplo , no sé si con ADO se puede uno conectar a interbase por ejemplo . Pero estaria bien poner una lista de las principales bases de datos y la paleta de componentes a los que se puede conectar , por orden de preferencia . Por ejemplo : Paradox : BDE Interbase : Interbase , BDE (quiero decir que para interbase usar la paleta de interbase como 1ª opción y la paleta de BDE como 2ª opción) . Así según la experiencia de cada uno para las principales bases de datos , como SQL Server , Access , Oracle , MySQL , etc ... |
Con Ado puedes conectarte a cualquier base de datos que soporte ODBC
y eso amigo mio prácticamente todas lo soportan. PARADOX DBASE MSSQL ORACLE MYSQL INFORMIX INTERBASE FIREBIRD DB2 ACCESS PostGress Ahora que lo ideal es usar OLEDB y eso lo proporcionan MsSQl ORACLE INFORMIX DB2 INTERBASE FIREBIRD Postgress Yo te recomiendo el uso de ADO por sobre cualquier otra tecnologia. adoradores de dbexpress, zeos y etc. es mi muy particular opinión |
Hola
Yo trabajo con ADO, pero esto: Cita:
Hay muchos componentes de enlace a base de datos y siguien saliendo mas, creo que lo importante es: que voy a hacer, para quien lo voy a hacer y si me caminara como quiero o no, de ai en adelante, es una decision muy particular, no creo que exista el componente ideal ya que para unos sera excelente y para otros no. En la variedad esta la riqueza de Delphi. Saludos |
OLE DB , comprendo que es también ADO , cuando pones un ADO conection , pues y le das a build , en la primera pestaña dice
Microsoft OLE DB provider for ... (lo que sea) . Esto es el OLE DB , que es tan bueno ? Si es así empezare a utilizar más ADO ,que jamás lo utilizo , por lo menos en los ultimos tiempos . |
Hablando siempre de componentes que trae delphi, entiendo que ADO es la mejor opción para acceder a MSSQL Server o a Access (via OLEDB), incluso para algunas Bases de Datos sencillas tipo Paradox/DBASE como forma de evitar el BDE, pero no creo que para trabajar con IB/FB sea mejor que utilizar los componentes nativos (IBExpress).
A cada cosa lo suyo. Como última opción sí puedes utilizar ODBC (a través de ADO) para acceder a casi cualquier cosa s(iempre que tengas el driver ODBC), pero dado su rendimiento lo dejaría como última opción. En alguna ocasión he probado ADO para acceder a Oracle y tampoco funcionaba del todo mal. Seguro que mejor que ODBC/BDE y supongo que peor que utilizando componentes de pago específicos para Oracle (entiendase DOA, por ejemplo), aunque estos ya no vienen con Delphi. |
Si y no.
Es verdad que al usar los componentes IB estas accediendo de forma nativa al motor de base de datos. Pero también es verdad que si usas OLEDB con ADO, por lo menos en la capa de conexión estas usando un modo nativo. con odbc ahí si estas sobreponiendo una capa adicional a la conexión. pero igualmente funciona. Ahora. lo que si no es para nada aconsejable y de hecho está descontinuado es el BDE. |
Cita:
Yo tengo para SQL Server, MSAccess (Jet4), Oracle,... ¿Exactamente cómo configuras tu conexión ADO para acceder a IB/FB? |
Cita:
What is IBProvider? The product is a Native OLE DB provider for access to all versions of InterBase and Firebird SQL-servers. Using IBProvider, you can create applications based on:
Schemata of connection to InterBase and Firebird through IBProvider The Brief Overview of IBProvider Features
So, development of large scalable client InterBase and Firebird applications using Microsoft development tools, and any other systems that support OLE DB, has become more accessible and easier than it was before. |
Cita:
Si buscamos fuera, se pueden encontrar muchos más de los que seguramente no acabaríamos de hablar. Inclusive los homólogos a ADO (TBetterADODtaset, SDAC,...) |
Y Entonces?....
Hola a todos en el foro
Creo que al final de cuentas creo que para los que estamos igual que David no hubo una respuesta que pudiese ayudarnos, es decir; seria bueno que los más experimentados (por decirlo de alguna forma) dieran su opinión sobre tal o cual componente, para poder establecer una correcta y eficaz conexión. Saludos.;) |
Mi recomendación es que usen Ado. :D
la principal ventaja? Ado lo pueden usar hasta en las macros de excell. jejejeje En cambio Zeos, Ibexpress, etc etc, son solo para uso con delphi. |
Cita:
Pues de nada :P, jajajaja, y bueno pues precisamente Ado es un set de componentes que vienen con delphi o me equivoco? :D saludos |
Cita:
Digo, si voy a hacer una aplicación que va a trabajar única y exclusivamente con Interbase/Firebird, prefiero mil veces las IBX (o alguna otra que se comunique directamente) a usar ADO... Saludos... |
Pues no creo que ADO sea la Panacea como se trata de plantear, de hecho accediendo por ODBC y por ADO dejas de poder utilizar entre otras cosas los "EVENTOS" de la base de datos con Firebird/Interbase porque no hay componentes en la paleta de ADO que te permita cachar los eventos que reporta la base de datos y eso mi amigo es oro puro en ambientes C/S.
No tienes modo de extraer el metadata, ni de poder hacer un respaldo de la base de datos, o hacer un sweep, Validarla, o ponerla fuera de linea. Nomas por decir algo. |
al final seguimos igual
hola a todos, mi caso es que estaba haciendo todo con el BDE en paradox, pero definitivamente opte por cambiar, por Firebir o MySQL. Estoy trabajando con Delphi 5 y mi primera prueba la hice con MySQL conectandome mediante ADO, durante los primeros pasos que di me salto un error que decia algo BoF o EoF registro actual no existe, bla,bla o algo asi. Entonces buscando encontre que es un bug de delphi 5 y ADO. Por lo que cambie por firebird conectandome con los componentes IB (supongo que son los IBx que aqui mencionan). Con esto quiero decir que todo depende de cada caso en particular(preferencias personales, acceso a documentacion, entorno, tipo de aplicacion, etc), ya que el objetivo final es trabajar lo mejor posible y con las menos complicaciones posibles. Un saludo para todos, y ojala despejen rapido sus dudas y se pongan a desarrollar sus proyectos. De paso si pueden darme una manito para
despejar mis dudas sobre las dos opciones que andan dando vuelta por mi cabeza. Fede |
Cita:
pues, solo es cuestion de leer la documentación :). Por mencionar algo sumamente valioso en la programación Ntier, con Ado puedes generar datasets en frio con solo un par de sencillos pasos. cosa que ZEOS, BDE (no se IB como lo haga) no son capaces de hacer. |
Cita:
a que no usas un cucharón para comer la sopa?? si, claro, el cucharon sirve para mover la sopa en la olla sin importar si es sopa de habas, arroz, tortilla o frijoles, pero comer usando el cucharón ya no es tan bueno. Sobre todo porque para comer sopa de tortillas es mejor usar un tenedor. |
Aunque no deja de parecerme extraña esta defensa a ultranza de ADO por sobre todo lo demás, hay que notar que el compañero poliburro aclara desde un principio que lo que él recomienda es usar ADO con OLEDB y no con ODBC.
// Saludps |
Cita:
si tienes un Sp que devuelve varios recorsets, como los manejas con IBEXPRESS? Si necesitas manejar conexiones en frio como lo harias con IBEXPRESS? Si requieres generar Datasets actualizables a partir de Esquemas XML, como lo harias con IBEXPRESS? coincido en que los componentes nativos incluyen cosas específicas del motor pero insisto. Desde mi experiencia con ado y MsSql, Mysql, Oracle, Db2, Access. Puedo decir a ciencia cierta que prefiero ADO que Zeos, Ibexpres y todo el largo etcetera, INSISTO es mi humilde y muy personal opinion. |
Cita:
Que estamos casi en noviembre y hace un calor de la leche aquí en Valencia :D |
Cita:
|
Cita:
Con Ado puedes conectarte a cualquier base de datos que soporte ODBC Ahora que lo ideal es usar OLEDB y eso lo proporcionan MsSQl, ORACLE, INFORMIX, DB2, INTERBASE, FIREBIRD, Postgress mysql, la verdad no camina bien, si es grande la base de datos, a mi me funciona mucho mejor zeos ...con odbc ahí si estas sobreponiendo una capa adicional a la conexión ...no es para nada aconsejable y de hecho está descontinuado es el BDE IBProvider -> is a Native OLE DB provider for access to all versions of InterBase and Firebird SQL-servers ...para trabajar única y exclusivamente con Interbase/Firebird, prefiero mil veces las IBX ...de hecho accediendo por ODBC y por ADO dejas de poder utilizar entre otras cosas los "EVENTOS" de la base de datos con Firebird/Interbase ...él recomienda es usar ADO con OLEDB y no con ODBC ...no quiere decir que todas sean ciertas 100% ya que algunas están dentro de las opiniones/preferencias de cada uno, pero no creo que sea poca cosa... |
pues gracias a este post he descubierto nuevos componentes para Oracle ,Corelab Odac y Direct Oracle Access . El primero no he podido instalarlo , así que he probado con el segundo , lo he instalado sin problemas . Todavia no lo conozco mucho , pero según decis el componente Direct Oracle Access es mejor que ado para Oracle .
Yo al principio de escribir este post , tenia algo en mente , y al final escribi este post en lugar de lo que tenia en mente . Os lo explico . Yo hace años , fuí a una empresa hacer practicas , estuve creo que ni un mes . Allí programaban en Powerbuilder y tenian un superprograma , yo les pregunte que base de datos utilizaba el programa y me dijeron que estaba hecho para varias bases de datos . Así yo he pensado , como se podia hacer en delphi , un programa para usarlo con varias bases de datos , del tipo Interbase , SQL Server y Oracle o informix . La idea es que lo lógico seria utilizar los mismos componentes y varias sólo la conexión en ADO conection , por ejemplo . Pero si haces esto por lo que se ve , no optimizas del todo la aplicación , pues hay componentes especificos para cada base de datos , como los de interbase y Oracle . saludos |
he ahi una de las razones importantes que tendria tu aplicación.
Si quieres trabajar con un solo motor de bases de datos, es recomendable usar unos componentes de acceso nativo. y si se desea desarrollar una apliación independiente de la base de datos, con el consiguiente hecho de no usar caracteristicas especificas que cada motor de bases de datos nos brinda, es usar ADO con OleDB. |
Cita:
Me he encontrado en alguna ocasión que diferentes proveedores (en ADO) no tenían implementados los mismos tipos de cursores o los mismos tipos de bloqueos. |
Cita:
Host: 192.168.1.2 Usuario: prueba Pwd: prueba Gracias |
Primero que nada debes conseguirte un driver OLEDB para MySql. ¿Ya lo tienes? En todo caso dinos cual, porque no abundan.
// Saludos |
www.connectionstrings.com
ahi vienen las cadenas de coneccions para oodbc olddb, incluido Roman, los proveedores para poder conectarte saludos |
hola srm, bienvenido a los foros de esta monuidad llamada clubdelphi
lee la guia de estilo, por ejemplo ese post lo debiste haber abuierto en un hilo nuevo. |
Gracias, veo que usan MySqlProv, pero una búsqueda en Google me arroja muchas referencias al driver pero no logro ver ninguna al driver en sí. ¿Tienes idea de dónde se consigue?
// Saludos |
Bueno, vamos a ver.
Yo estoy trabajando con D7 - ADO - SQL Server. Tengo una especie de ERP ajustado a mi empresa. Ahora me ha surgido hacerle una serie de programitas a unos clientes; estos programitas son partes de código de lo que tengo hecho. Por eso quiero seguir trabajando con ADO, para tener que modificar lo mínimo. Un cliente necesita acceder desde muchos ordenadores y su volumen sera importante por lo que he decidido basarme en MySQL, con otros lo haré en Access, porque son monopuesto y con ADO va bien. El tema es que no soy muy amigo de tener componentes y mas componentes, y prefiero basarme en los que trae Delphi y en alguno en concreto que me hago o que son concretos para cosas concretas muy utiles. Por eso mi interes de acceder a MySQL desde ADO, además, estoy buscando alguna opción para acceder a traves de ADO sin instalar el Driver (ODBC 3.51) de MySQL, para no tener que instalarlo y configurarlo en todos los ordenadores del cliente y así poder olvidarme de mantener este punto. Por eso cuando Román comentó que se podía acceder mediante OLE DB a MySQL, pensé que se podría hacer sin instalar nada adicional en clientes remotos, tal y como me pasa ahora con MSSQL, que no hace falta instalar nada, porque como el MDAC de W$ ya lo lleva todo.... Pues eso, y sintetizando despues de tanto rollo. ¿Como accedo a MySQL sin instalar nada en los clientes y utilizando los componentes que vienen el Delphi 7, para trabajar con MySQL (5.0)? PD: Paoti, la próxima vez tendre mas encuenta la guia de estilo. |
Por cierto he hecho pruebas con dbExpress contra MySQL 5.0, y no consigo que me funcione. correctamente; connecta, pero despues no veo tablas ni nada
|
Yo utilizo para MySQL 5.0 los componentes de MyDac (MySQL Access) y de momento me van bien, pero no se si es lo mas ideal.
|
ADO, ODBC, OLEDB, jo cuantas cosas estoy viendo.
Te recomiendo que utilices el que mejor resultado te este dando a ti mismo, en informatica hay una premisa, si algo te funciona no lo cambies por nada hasta haber probado bien lo nuevo, por que sino el 90 % de las veces tienes que irte al chiste de Fatima: "Virgencita, Virgencita, por lo menos como estaba". Yo utilizo MySQL porque tengo B.D. tanto en Windows como en Linux, aunque el primero cada vez lo estoy dejando mas. En conclusion utiliza el que mas rendimiento te de para el programa que estes utilizando, sabiendo como es B.D. (con muchos registros o pocos, con muchos o pocos accesos concurrentes, Portabilidad, etc...) |
Cita:
Instalo MySQL 5.0, Con el Kit de Migración, paso de Access a MySQL Cambio de ConnectionString y.... Perfecto, a funcionar. Lo estoy probando pero de momento no falla nada. Además estoy convencido que al reves tambien podré hacerlo en un futuro... sólo tengo que trabajarme un poco la BBDD y el programa dejarlo como esta. Vamos que contra mas lo pienso, mas claro lo tengo, que ADO + mySQL ODBC Driver. Lo que tambien ocurria es que yo creia que habia que ir al administrador de ODBC de Windows, y crear el enlace ODBC a la Base MySQL, pero no, he comprobado que no hace falta. O sea para distribuir mi aplicación una vez instalado el servidor MySQL, en el ordenador que quieran conectarse con la BBDD, que se instalen el Driver ODBC, que es sencillo, y listo, la aplicación funciona:D |
Cita:
// Saludos |
Estoy comenzando a trabajar con un servidor de BD y finalmente me he dicidido por firebird. Trabajo con turbodelphi 2006 explorer y me conecto mediante dbExpress, mi pregunta es por que se lo menciona poco o nada a estos componentes para conectarse, he leido y estoy aprendiendo a usarlos, pero en este hilo se mensiona mucho ADO, es realmente mejor? No es bueno trabajar con dbExpress? en caso de que asi sea, cuales son los inconvenientes que trae? Mi decision por dbExpress fue por versatilidad de conectarse a cualquier base de datos facilmente, segun instructivos de borland, sin drivers ODBC u OLEDB, ya que como dije antes recien estoy dando mis primeros pasos, y si es mejor otra cosa estoy a tiempo de aprender;) . Muchas gracias.
Fede |
Cita:
ora si que me dejó frio... |
| La franja horaria es GMT +2. Ahora son las 14:18:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi