PDA

Ver la Versión Completa : Conectar Aplicación Delphi a MySql mediante ODBC


Nasio
21-05-2004, 18:33:51
He instalado un driver "MySQL 3.51 Driver ODBC" y en la aplicación intento conectar un TQuery utilizando el driver configurado para acceder a dicha base (En dataSource Name: Libro (nombre de la BBDD) Server Name: localhost, Data Base Name: libro, User: root, Port: 3306).

Está el driver bien configurado?. Mantengo activo el mysqld, pues si no, me da error de conexión.

El problema es que inserto el TQuery metiendo el alias de la BBDD 'libro', el dataSource y un DBGrid y un DBMemo. No obtengo los registros. En la sentencia SQL del Query introduzco un "Select * from libro", y en las columns del DBGrid todos los "fields" de la BBDD, pero cuando voy a probar, no me salen los registros. Intento poner la propiedad Active del Query a True y me pide User y Password, meto 'root' sin Password y me sale el mensaje: 'Your application is not enabled for use with this driver. Alias: libro'.

Detalles: Esta aplicación se encargará de la moderación de un libro de visitas en php y Mysql. Utilizo el paquete Easy-php integrado (Mysql, php y apache) y tengo actualmente todo activo

Ayuda, por favor!!!:confused: :confused: :confused:

Rakelina
21-05-2004, 21:05:49
Hola!!!!! Yo estoy trabajando con MySQL desde OBDC no tengo mucha idea, pero te recomiendo que te bajes las libreiras de ZEOS, que te hacen el trabajo mucho mas facil.
Chaitooo.

roman
21-05-2004, 21:23:18
Apoyo totalmente a Rakelina ya que además, ODBC no hace más que agregar una capa extra de abstracción de manera que el rendimiento no será tan bueno como lo puede ser con Zeos.

// Saludos

Nasio
24-05-2004, 17:01:36
He probado vuestra sugerencia, pero tengo instalado un delphi 4, y los controladores Zeos que me citais sólo son útiles a partir de la versión 5. Intentaré, no obstante, probarlo con un delphi más actualizado. No obstante ¿Alguien conoce alguna versión de esta librería para delphi 4? De ser así agradecería me mostrara el enlace para la descarga. Gracias por las respuestas.:cool:

kayetano
25-05-2004, 00:27:28
Hola

En la web oficial de ZEOS pone que son validos para Delphi 4-7, lo puedes ver en www.zeoslib.net. Es posible que la version 6 de ZEOS no sea muy facil de instalar en Delphi 4 pero igual alguna versión inferior si que te permita realizar una instalación facil.

Aqui ( http://www.zeoslib.net/modules.php?name=News&file=article&sid=27 ) comenta como instalar los componentes e indica que son para delphi 7 pero que se pueden instalar en versiones inferiores.

En sourceforge ( http://sourceforge.net/project/showfiles.php?group_id=35994&package_id=28219 ) puedes encontrar desde la versión 5.3.0 a la 6.1.5.

Espero que te sirva de ayuda.

FernandoFAI
26-05-2004, 15:24:59
He instalado un driver "MySQL 3.51 Driver ODBC" y en la aplicación intento conectar un TQuery utilizando el driver configurado para acceder a dicha base (En dataSource Name: Libro (nombre de la BBDD) Server Name: localhost, Data Base Name: libro, User: root, Port: 3306).

Está el driver bien configurado?. Mantengo activo el mysqld, pues si no, me da error de conexión.

El problema es que inserto el TQuery metiendo el alias de la BBDD 'libro', el dataSource y un DBGrid y un DBMemo. No obtengo los registros. En la sentencia SQL del Query introduzco un "Select * from libro", y en las columns del DBGrid todos los "fields" de la BBDD, pero cuando voy a probar, no me salen los registros. Intento poner la propiedad Active del Query a True y me pide User y Password, meto 'root' sin Password y me sale el mensaje: 'Your application is not enabled for use with this driver. Alias: libro'.

Detalles: Esta aplicación se encargará de la moderación de un libro de visitas en php y Mysql. Utilizo el paquete Easy-php integrado (Mysql, php y apache) y tengo actualmente todo activo

Ayuda, por favor!!!:confused: :confused: :confused:


Si todavía te hace falta ayuda creo que te puedo ayudar porque en mis aplicaciones Delphi5,7 utilizo tablas mysql con ODBC y no tengo ningun problema. por lo que entiendo tu tabla no se encuentra en un servidor Linux sino en una maquina local, el driver "MySQL 3.51 Driver ODBC" que instalastes es una cosa. Tiene que instalar un MySQL for Windows Server que por lo que hablas del "mysqld" creo que lo instalastes yo utilzo "mysqld-opt" o "mysqld-nt" otra cosa tienes un directorio c:\mysql\data\libro pero adremás hay un directorio c:\mysql\data\mysql en el cual se encuentra una tabla llamada user y seria bueno saber el contenido de esta. bueno si esto te ayuda escribe más detalladamente tu problema .

Nasio
26-05-2004, 17:31:26
Si todavía te hace falta ayuda creo que te puedo ayudar porque en mis aplicaciones Delphi5,7 utilizo tablas mysql con ODBC y no tengo ningun problema...
Hola, Estoy probando las librerías de Zeos que me han aconsejado, sin embargo sigo interesado en realizar las conexiones mediante ODBC.

Sí, tengo la aplicación Web php instalada en la máquina windows local (Windows XP profesional). La instalación de MySQL la realizaba el paquete Easy-php. La tabla que me citas en el directorio \data\mysql (no es el mismo directorio que me citas, pero este paquete crea un subdirectorio \mysql desde el cual coinciden las rutas), decir que hay tres con ese nombre con las extensiones .frm, .MYI, .MID. ¿como se abren para saber su contenido?. Decir, asimismo que soy nuevo en la administración de MySQL, y no he dado de alta ningún usuario, permisos ni nada por el estilo (me estoy documentando), sólo he utilizado el usuario root sin password, pues sí sé que actuando desde la máquina local obtiene todos los permisos. ¿Te sirven de algo estos detalles?

FernandoFAI
27-05-2004, 08:57:57
Hola Nasio !

Para editar las tablas de mysql utilizo un programita llamado IMySql con el cual pueder editar las tablas de forma nativa o sea sin ODBC. Para usar root sin password, tienes que quitar el password con la ayuda de IMySql . además dar los privilegios Select priv, Insert priv,..... Para grabar los cambios en esta tabla (USER) utiliza el comando "Flush privileges" o reinicia "mysqld-nt" no se como se pueden mandar correos en esta foro si puedo te mando un ejemplo para la tabla USER y el IMySql.

roman
27-05-2004, 16:30:00
Para editar las tablas de mysql utilizo un programita llamado IMySql


¿Podrías decirnos dónde conseguirlo? Busqué en Google pero sólo me llevó a páginas en ruso.

// Gracias

FernandoFAI
28-05-2004, 08:29:57
te lo puedo enviar si me das una dirección

Nasio
26-07-2004, 11:11:24
Mi Direccion es la siguiente:

Ganjical@yahoo.es :p

kayetano
26-07-2004, 12:42:21
Hola

Creo que esa utilidad esta hecha por la gente de zeos y esta aquí http://www.marms.com/zeos/eng/zeos_zia_main.html