Título: QMYSQL driver not loaded Publicado por: AprendizPRG en 4 Agosto 2017, 18:20 pm hola estoy tratando de conectar qt con mysql en debian pero me arroja este error
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 en la carpeta de driverssql de qt se encuentra instalado el libqsqlmysql.so sin embargo no reconoce el driver tambien lo compile como dice en la doc de la pagina de qt pero persiste el error /****************** al ejecutar este codigo me muestra el error que el driver no ha sido cargado int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel resultado(""); if (QSqlDatabase::isDriverAvailable("QMYSQL")) { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("agenda"); db.setUserName("root"); db.setPassword("root"); if ( db.open() ) resultado.setText("Bien, base de datos cargada"); else { QSqlError mensaje = db.lastError(); resultado.setText(mensaje.text()); } } else resultado.setText("No hay driver"); resultado.show(); return app.exec(); } /*********************** pero de esta manera aparece que el driver ha sido cargado int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel resultado(""); if (QSqlDatabase::isDriverAvailable("QMYSQL")) { resultado.setText("Bien,driver cargado"); } else resultado.setText("No hay driver"); resultado.show(); return app.exec(); } Título: Re: QMYSQL driver not loaded Publicado por: ivancea96 en 4 Agosto 2017, 18:29 pm ¿Copiando el .so a la carpeta en la que está el programa funciona?
Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 4 Agosto 2017, 18:36 pm gracias
pero eso ya lo intente y no funciona Título: Re: QMYSQL driver not loaded Publicado por: ivancea96 en 4 Agosto 2017, 18:48 pm Prueba algo de por aquí: http://www.qtcentre.org/threads/55365-QSqlDatabase-QMYSQL-driver-not-loaded-but-available (http://www.qtcentre.org/threads/55365-QSqlDatabase-QMYSQL-driver-not-loaded-but-available)
Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 4 Agosto 2017, 19:16 pm javascript:void(0); nada de nada
Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 4 Agosto 2017, 23:05 pm hola nuevamente
hay alguna posibilidad que mysql este evitando la conexion con qt ya que por medio del debugger de qt he probado pero el programa falla al llamar a db.open Título: Re: QMYSQL driver not loaded Publicado por: ivancea96 en 4 Agosto 2017, 23:15 pm Yo no te voy a poder seguir respondiendo, que no uso Qt. Lo mejor es que busques casos similares por google, o en los foros de Qt, o busques tutoriales sobre esto para ver qué falta.
Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 4 Agosto 2017, 23:21 pm hola amigo
gracias de todos modos pero llevo dias buscando por la web y no logro solucionar el problema saludos! Título: Re: QMYSQL driver not loaded Publicado por: Becerra en 4 Agosto 2017, 23:34 pm Hola
Ese error es el más puñetero de Qt, ya que realmente no te da una pista e lo que está pasando. No indicas el sistema operativo, lo que te ocurre es que tienes que copiar las .dll de mysql a una carpeta en la que Qt las encuentre. Si estás en linux, muévete a la carpeta donde están los drivers de Qt y ejecuta el comando ldd libqsqlmysql.so Te dará una lista de las dependencias del driver y podrás ver lo que te falta. si estás en win no se, es copiar un par de .dll de mysql a la carpeta bin de qt o a system de windows, pero no sé seguro ni la ubicación correcta ni los archivos que son. Un saludo Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 5 Agosto 2017, 04:15 am hola esta fue la salida
al parecer es libmysqlclient_16 ldd libqsqlmysql.so ./libqsqlmysql.so: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16: version `libmysqlclient_16' not found (required by ./libqsqlmysql.so) linux-vdso.so.1 (0x00007ffecaff3000) libmysqlclient_r.so.16 => /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16 (0x00007f90437a6000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f904358c000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f9043354000) libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f904313c000) libssl.so.10 => not found libcrypto.so.10 => not found libQt5Sql.so.5 => /opt/Qt5.6.2/5.6/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007f9042ef6000) libQt5Core.so.5 => /opt/Qt5.6.2/5.6/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007f90427df000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f90425c2000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9042240000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9041f3c000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9041d23000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9041985000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9041781000) libicui18n.so.56 => /opt/Qt5.6.2/5.6/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.56 (0x00007f90412e7000) libicuuc.so.56 => /opt/Qt5.6.2/5.6/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.56 (0x00007f9040f2f000) libicudata.so.56 => /opt/Qt5.6.2/5.6/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.56 (0x00007f903f54c000) libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f903f348000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f903f140000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f903ee2c000) /lib64/ld-linux-x86-64.so.2 (0x000055cc9f2ce000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f903ebb9000) Título: Re: QMYSQL driver not loaded Publicado por: Becerra en 5 Agosto 2017, 10:54 am Hola
Exactamente, te falta ese archivo. Obviamente imagino que tienes MySql instalado, tanto el cliente como el servidor. Puede ser simplemente que MySql instale ese archivo con un nombre ligeramente diferente (como me ocurrió con los drivers de firebird) o en otra ubicación, así que localiza la instalación de MySql y mira si existe ese archivo u otro con nombre muy similar y te vale simplemente con crear un enlace en la carpeta que te indica el error: /usr/lib/x86_64-linux-gnu/ Un saludo Título: Re: QMYSQL driver not loaded Publicado por: AprendizPRG en 5 Agosto 2017, 12:14 pm hola hice lo indicado el error de la libreria desaparecio
pero eldriver sigue sin cargar Título: Re: QMYSQL driver not loaded Publicado por: Becerra en 6 Agosto 2017, 10:01 am Hola
Pues entonces ya debería funcionar :( Solo he usado una vez el driver de MySql y para un ejemplo, así que mucha experiencia no tengo con él. Sí recuerdo que tuve que compilar los drivers yo, con los que vienen por defecto con Qt fue imposible hacer la conexión. Otro detalle fue que usando Código: db.setHostName("localhost"); Me fue imposible hacer la conexión, tuve que usar directamente la ip local: Código: db.setHostName("127.0.0.1"); Prueba este cambio y compila el driver, no vaya a ser eso. Un saludo |