Qt 5.4 + firebird embebido (Linux)
-
hola buen día,
Estoy tratando de compilar el plugin para Firebird embebido y crear una aplicación de ejemplo, pero tengo problemas, me dice Driver not loaded
Instalé Qt en mi home (/home/user/Qt) y Firebird (FirebirdCS-2.5.3.26778-0.amd64.tar.gz 7 MB) en /opt/firebird con enlaces a los include de Firebird en /usr/include, y a las librerias en /opt/firebird/lib
estos son los pasos que seguí:
en ~/Qt/5.4/src/qtbase/plugins/sqldrivers/Ibase compilé el plugin ibase (libqsqlibase.so) con ~/Qt/5.4/gcc_64/bin/qmake "INCLUDEPATH+=/opt/firebird/include" "LIBS + = - L/opt/firebird/lib" "LIBS + = - lfbembed" ibase.pro;
make;
make install;el plugin se generó en ~/Qt/5.4/src/qtbase/plugins/sqldrivers y en ~/Qt/5.4/gcc_64/plugins/sqldrivers
copié el plugin en el directorio de la aplicación y en el subdir sqldrivers junto con los archivos de firebird (aliases.conf firebird.msg libfbembed.so libfbembed.so.2.5.4 libicudata.so libicudata.so.30.0 libicui18n. so.30 libicuuc.so libicuuc. so.30.0 firebird.conf libfbembed.so.2.5 libib_util.so libicudata.so.30 libicui18n.so libicui18n.so.30.0 libqsqlibase.so libicuuc.so.30) también copié las carpetas UDF e intl
en el archivo .pro añadí QT + = SQL
en el main.cpp agregué #include <QSqlDatabase> y qDebug() << QApplication::libraryPaths(); qDebug() << QSqlDatabase::drivers();
cuando llamo a bd = QSqlDatabase :: addDatabase ("QIBASE"); responde
QSqlDatabase: QIBASE driver not loaded
QSqlDatabase: available drivers: QIBASE QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7qDebug() << bd.lastError().text(); responde "Driver not loaded Driver not loaded"
qDebug() << QApplication::libraryPaths(); responde ("/home/usuario/Qt/5.4/gcc_64/plugins", "/media/usuario/Documentos/Programacion/Pruebas/Qt/Bases de datos/BD-varias-build-Desktop_Qt_5_4_1_GCC_64bit-Release")
y qDebug() << QSqlDatabase::drivers(); responde ("QIBASE", "QSQLITE", "QMYSQL", "QMYSQL3", "QPSQL", "QPSQL7")
el sitio de descarga de firebird dice que necesita glibc > = 2.6 para el clasic server y para el superclasic pero no dice nada del embebido, tengo el glibc 2.19, esto influirá?
como puedo conectarme a Firebird embebido?
Que estoy haciendo mal?muchas gracias,
saludos,
PD: no puedo encontrar la etiqueta para insertar el código del main y el MainWindow
-
Hola
Pues yo tuve un problema similar ("Driver not loaded") pero en windows, con firebird, al final lo solucioné copiando el archivo fbclient.dll a la carpeta ruta_de_instalación_qt\5.4\mingw491_32\bin
No sé como se llama el archivo de la versión embebed, pero prueba a copiarlo a esa ubicación.
Lo que no sé es cómo hacer a la hora de distribuir la aplicación, es decir, en qué carpeta copiarlo, mi aplicación aun está en una fase muy temprana de producción.
Un saludo