Cuando intento conectar la base de datos me sale el siguiente error:
alguien me puede ayudar, ya estoy desesperado he intentado de todo
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.
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.
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!
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
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,
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:
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.