QSqlDatabase - Connection failed



  • ciao a tutti.
    sto cercando di scrivere un progammino che si interfacci al mio database mysql in locale.

    #include <QtGui>
    #include <QApplication>
    #include <QDebug>
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        qDebug() << qApp->libraryPaths();
    
         QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setDatabaseName("Magazzino");
        db.setUserName("ottavio");
        db.setPassword("password");
        bool esito=db.open();
    
        if(!esito) printf("Connection failed");
        else printf("Connection worked");
    }
    

    il problema è che non mi si connette. Ecco cosa visualizza la konsolle:

    ("/home/ottaviane/SviluppoSoftware/Programmi/QT/5.5/gcc/plugins", "/home/ottaviane/SviluppoSoftware/Progetti/C++/Projects/prove/ProveDriverSql/build")
    QSqlDatabase: QMYSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
    Connection failedPress <RETURN> to close this window...
    

    Cosa fare? Come fare a caricare il driver che chiede?
    Il mio sistema è un Lubuntu.
    Grazie a tutti.



  • se inserisco ciò

     QPluginLoader loader("sqldrivers/libqsqlmysql.so");
       loader.load();
        qDebug() << loader.errorString();
    

    mi ritorna il seguente errore:

    "Cannot load library /home/ottaviane/SviluppoSoftware/Programmi/QT/5.5/gcc/plugins/sqldrivers/libqsqlmysql.so: (libmysqlclient_r.so.16: impossibile aprire il file oggetto condiviso: File o directory non esistente)"
    
    

    eppure il file esiste! e il percorso è corretto!



  • @Ottaviane said:

    Crea un link alla con il comando ln :
    ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient_r.so


Log in to reply
 

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