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 QPSQL7

    qDebug() << 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



  • hola juanki,

    lo resolví de la misma manera, copiando la libembedded al dir de plugins de Qt y tampoco se como distribuirlo

    cualquier novedad la posteo,

    gracias y saludos,


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.