Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas al conectar con mysql desde delphi 7 con Zeos (https://www.clubdelphi.com/foros/showthread.php?t=86763)

chuset 29-09-2014 22:37:39

Problemas al conectar con mysql desde delphi 7 con Zeos
 
Buenas, que tal, me dirijo al foro para resolver algunos problemas.
Les comento, tengo una aplicación que se conecta a una BD de mysql con Zeos, en modo local funciona bien, es más, colocandole la ip de la PC donde está mysql (que es la misma pc), funciona bien.
El problema se presenta cuando quiero ejecutar ese proyecto de delphi, en otra pc que no tiene delphi instalado, no se conecta con la pc que tiene mysql.
Realice unas pruebas, colocar los valores de zconection en tiempo de ejecución, es decir le asigno, el catalogo, la database, usuario, clave, puerto, hostname; a todos estos valores los ejecuto paso a paso y no hay problema, pero cuando coloco connected en TRUE, me dá un error de conexion.
Les recuerdo que el mismo proyecto ejecutado en la PC que tiene delphi instalado, funciona bien
Probé crear el proyecto con la opcion de Proyect--> options --> Packages --> build with runtime packages tildada y sin tildar.
Espero haber sido claro con la descripción del problema.
Desde ya agradezco su atención
Eduardo

roman 30-09-2014 17:40:36

Cita:

Empezado por chuset (Mensaje 482313)
no se conecta con la pc que tiene mysql.

¿No se conecta? ¿Cómo lo sabes? ¿Te manda algún mensaje de error? ¿Qué dice el menaje? ¿La pc tiene la biblioteca libmysql.dll instalada?

// Saludos

AzidRain 02-10-2014 00:37:39

En la pc de producción (la que no tiene delphi) tienes que distribuir además del ejecutable de delphi la dll que ocupes para conectarte con MySQL. Además el usuario que estés usando en TZConnection debe tener permisos de acceso desde fuera del servidor MySQL. MySQL por default da acceso a root solo en localhost, tienes que cambiarlo por "%" para que permita a root conectarse desde cualquier otro lado. Claro, siempre y cuando uses root para conectarte, en su caso sería el usuario que hayas utilizado. Hay mucha información en el sitio oficial de MySQL al respecto, a leer un poquito.

chuset 02-10-2014 02:36:04

Gracias por su tiempo y por su respuesta. Les comento que copié el archivo libmsql.dll en el directorio donde está el ejecutable en la pc cliente, y para un programa sencillo, me funciona, es decir se conecta a mysql y muestra en un dbgrid datos.
Al tratar de ejecutar el programa que realmento necesito, (este consta de varios forms, un datamodule donde coloco los tzconection, zquery, dataset, etc.), no pasa nada... ni un mensaje de error.
Al archivo libmysql.dll, tambien lo copie en windows\system y system32.
Al root le coloque en mysql % para poder acceder desde cualquier pc
Deshabilite el firewall de windows y del antivirus
Bueno, si tienen alguna sugerencia, será bienvenida. De todas formas sigo leyendo la información que hay de mysql.
Cualquiercosa que logre funcionar les aviso.
Desde ya gracias

jeremiselxi 02-10-2014 04:35:35

Me pasa igual que a ti.
 
Buenas noches.

Realmente este problema que planteas me esta pasando igual, pero hay un detalle con tu caso y es que te funciono la pequeña aplicacion que hiciste con un grid, ahora bien lo que te recomiendo es que verifiques nuevamente los datos de coneccion y pruebes de nuevo tanto en tu pc donde tienes instalado el delphi como en el servidor de produccion. De no funcionar vamos descartando hasta llegar al objetivo.

Saludos.

jeremiselxi 02-10-2014 06:01:01

para las notas
 
¿Sabes que hice y me funcionó de maravilla? Instalé el "mysql-connector-odbc-3.51.30-win32".

Saludos.

chuset 03-10-2014 03:34:04

Parece que encontre la solución !!
 
Que tal, antes que nada, quiero agradecer a todos que se tomaron un tiempo para leer mi problema y aportar ideas para la solución.
Le cuento que hice, en la pc cliente instale el delphi completo, por su puesto la aplicación funciono, desintale el delphi y la aplicación dejo de funcionar. (esto lo hice por si el delphi instalaba algunas dll que no sabia que usaba). Luego volvi a instalar el delphi pero no la instalación full sino la compacta, y la aplicacion no funciono y me reportó un error que no encontraba MIDAS.dll. Empece a investigar y resulta que unos componentes del delphi necesitan esta dll para poder ejecutarse en otra pc. Copie el archivo midas.dll en la carpeta donde esta la aplicacion y esta empezó a funcionar.
Lo probe en otra PC que tampoco tenia delphi, y funciono de maravillas.
Lo que no se hacer, todavía, es incorporar esta dll en el ejecutable del proyecto, pero copiando el midas.dll la aplicación funciona bien.
Todavia no puedo poner Links, pero les digo que el articulo es en la web de Delphi al Limite blogspot . com . ar

Desde ya muchas gracias a todos.
PD: cuando sepa compilar el proyecto con el midas incluido, aviso.
Saludos

roman 03-10-2014 06:38:43

Posiblemente estás usando componentes ClientDataSet. Como sea, en el caso de Midas puedes omitir la instalación de la biblioteca DLL si incluyes la unidad midaslib en alguna unidad de tu proyecto.

Por cierto, puedes usar el Dependency walker para saber de qué bibliotecas depende tu ejecutable.

// Saludos


La franja horaria es GMT +2. Ahora son las 06:07:54.

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