Problema con QPSQL



  • ciao!

    sto cercando di connettere una mia applicazione ad un db PostgreSQL installato su un altro pc:

    void MainWindow::on_pushButton_clicked() {
        QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
        db.setHostName("192.168.1.31");
        db.setDatabaseName("test");
        db.setUserName("postgres");
        db.setPassword("postgres");
        bool ok = db.open();
    
        if (ok) {
            QSqlQuery query("SELECT * FROM persone");
            while (query.next()) {
                qWarning() << query.value(0).toString();
                qWarning() << query.value(1).toString();
                qWarning() << query.value(2).toString();
                qWarning() << query.value(3).toString();
            }
    
            qDebug() << query.lastError().text();
        }
    }
    

    quando avvio il programma, ottengo questo errore:

    QSqlDatabase: QPSQL driver not loaded
    QSqlDatabase: available drivers: QIBASE QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 QTDS QTDS7
    

    ho provato a leggere un pò in giro, ma trovo solo errori riguardanti windows.
    invece la mia applicazione la sto facendo su linux.
    ovviamente non ho installato postgresql anche qui, sarebbe inutile.

    qualche idea al riguardo??



  • vi aggiungo anche questa informazione:

    # ls -l /usr/lib/qt/plugins/sqldrivers/
    totale 480
    -rwxr-xr-x 1 root root 100184 14 gen 20.51 libqsqlibase.so
    -rwxr-xr-x 1 root root  67408 14 gen 20.51 libqsqlite.so
    -rwxr-xr-x 1 root root  75600 14 gen 20.51 libqsqlmysql.so
    -rwxr-xr-x 1 root root  96080 14 gen 20.51 libqsqlodbc.so
    -rwxr-xr-x 1 root root  79696 14 gen 20.51 libqsqlpsql.so
    -rwxr-xr-x 1 root root  59216 14 gen 20.51 libqsqltds.so
    

    mi sembra ci sia la libreria!



  • usa ldd su libqsqlpsql. probabilmente ti manca qualche libreria interna a postgre. Sospetto numero 1: ti manca libpq



  • si era quello!

    su arch linux si chiama libpqxx.
    installato quello funziona tutto.
    grazie!!


Log in to reply
 

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