Ir al contenido



Foto

Problema al conectar mysql en lazarus


  • Por favor identifícate para responder
5 respuestas en este tema

#1 dandyuno

dandyuno

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 04 diciembre 2016 - 07:25

Cuando intento conectar la base de datos me sale el siguiente error:

Captura_de_pantalla_2016_10_18_a_las_13_

 

alguien me puede ayudar, ya estoy desesperado he intentado de todo


  • 0

#2 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 58 mensajes

Escrito 04 diciembre 2016 - 04:15

Hola, si nos proporcionas un poco más de datos podremos ayudarte mejor. De momento te puedo sugerir que verifiques la propiedad LibraryLocation de tu conexión, puede incluir el path o también copiar el archivo que te marca el error en la carpeta donde de encuentra tu proyecto.

 

0cc2335ff179bfb16dd71bd3cabb8876o.png

 

En mi caso utilizo Zeos pero calculo que cualquier componente de conexión tiene una propiedad para indicar la librería SQL que debe utilizar.

 

Saludos.


  • 0

#3 Refusilo

Refusilo

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 05 diciembre 2016 - 05:49

Aportando al comentario anterior de Gaston, también depende del sistema operativo:
Si estas utilizando Linux por ejemplo tienes que poner en Librarylocation el camino completo en donde se encuentra las siguientes librerías, yo utilizo /usr/lib/libmysqlclient.so.18.0.0 (hay otras librerias, y como decia Gaston seria bueno poner dicha libreria en donde se ubica tu aplicacion)

Si utilizas Windows tendrás que buscar una dll ya sea libmysqlclient.dll o alguna otra

 

Espero que te sirva de algo, Saludos!


  • 0

#4 dandyuno

dandyuno

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 05 diciembre 2016 - 06:36

Ante todo gracias por responder.

voy a facilitar información del sistema y una pequeña observacion que es donde creo que esta el problema.

Sistema:

utilizo OSX  Sierra

lazarus 1.6.2

mysql 5.6 (he instalado este en vez del 5.7 porque ya en windows tuve problemas con este último asi que decidi utilizar el que si que me funciona)

2º en cuanto a la localizacion de la libreria decir que el componente que uso no tiene esta opcion, ya que es el que lazarus trae de serie

 

3º la observación a la que me refiero es al nombre del archivo de la libreria: el que me dice el error es 'libmysqlclient.dylib.18' mientras que el que yo tengo es 'libmysqlcliente.18.dylib'. Como podeis ver el 18 esta cambiado de lugar. No se ha que es debido

 

Nota: ya intente cambiar el nombre del archivo en el directorio donde esta alojado pero el sistema no me deja.

 

Espero haber dado información suficiente, en tal caso no duden en pedir lo que crean conveniente-. Gracias


  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 5.825 mensajes
  • LocationArgentina

Escrito 05 diciembre 2016 - 08:48

Ante todo gracias por responder.

voy a facilitar información del sistema y una pequeña observacion que es donde creo que esta el problema.

Sistema:

utilizo OSX  Sierra

lazarus 1.6.2

mysql 5.6 (he instalado este en vez del 5.7 porque ya en windows tuve problemas con este último asi que decidi utilizar el que si que me funciona)

2º en cuanto a la localizacion de la libreria decir que el componente que uso no tiene esta opcion, ya que es el que lazarus trae de serie

 

3º la observación a la que me refiero es al nombre del archivo de la libreria: el que me dice el error es 'libmysqlclient.dylib.18' mientras que el que yo tengo es 'libmysqlcliente.18.dylib'. Como podeis ver el 18 esta cambiado de lugar. No se ha que es debido

 

Nota: ya intente cambiar el nombre del archivo en el directorio donde esta alojado pero el sistema no me deja.

 

Espero haber dado información suficiente, en tal caso no duden en pedir lo que crean conveniente-. Gracias

 

No utilizo Macs, ni los componentes por defectos por lo que no sabría decir hasta que punto puede ser problema de los componentes, o si es un problemas ya general de Lazarus con Macs.

Si bien Lazarus es posible ejecutarlo y compilar para Macs, hay cosas todavía no están pulidas para ese S.O.

 

Nos sería de mucha ayuda que nos expongas los pasos que haz realizado para tratar de efectuar la conexión. Por lo pronto quizá no venga mal a tener en cuenta lo que dice la wiki de Lazarus sobre MySQL.

 

Nunca está más seguir el tutorial sobre la suite SQLdb. Aunque no veo alguna sección propia sobre MySQL + OSX.

 

Ahora bien, el tipo de error que nos comentas, es algo parecido a lo que se comenta cerca del final de este tutorial de Lazarus + MySQL + Linux. Mi primer pensamiento es que posiblemente dicha biblioteca no esté en el mismo directorio de la aplicación, o que no estuvieras trabajando con la versión apropiada del componente.

Que ahora nos digas que está con el nombre cambiado y no te deja alterarlo me hace sospechar que posiblemente el componente esté intentando localizar la biblioteca en el "directorio del sistema" o el equivalente de la carpeta "Windows" en OSX y no en el directorio de la aplicación.

 

Lo que noto en la paleta de componentes SQLdb es la existencia del componente SQLDBLibraryLoader. No he visto su uso nunca. Y me pregunto si por casualidad no será que falta de éste para indicar específicamente la biblioteca a usar cuando no es la de por defecto. La wiki parece darle ese uso.

 

Saludos,


  • 0

#6 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 58 mensajes

Escrito 05 diciembre 2016 - 02:49

Ante todo gracias por responder.

voy a facilitar información del sistema y una pequeña observación que es donde creo que esta el problema.

Sistema:

utilizo OSX  Sierra

lazarus 1.6.2

mysql 5.6 (he instalado este en vez del 5.7 porque ya en windows tuve problemas con este último asi que decidi utilizar el que si que me funciona)

2º en cuanto a la localizacion de la libreria decir que el componente que uso no tiene esta opcion, ya que es el que lazarus trae de serie

 

3º la observación a la que me refiero es al nombre del archivo de la libreria: el que me dice el error es 'libmysqlclient.dylib.18' mientras que el que yo tengo es 'libmysqlcliente.18.dylib'. Como podeis ver el 18 esta cambiado de lugar. No se ha que es debido

 

Nota: ya intente cambiar el nombre del archivo en el directorio donde esta alojado pero el sistema no me deja.

 

Espero haber dado información suficiente, en tal caso no duden en pedir lo que crean conveniente-. Gracias

 

Que el sistema no te permita cambiar el nombre del archivo es lógico y está bien. Creo que el error es debido a que falta el enlace a dicha librería en el sistema operativo, puedes probar:


php
  1. sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

Esto es un enlace, el equivalente al SET PATH de Windows, suponiendo que todos alguna vez utilizamos Windows  ;)

 

Hay otras alternativas aquí que es de donde extraje la que te menciono.

 

Saludos.


  • 0