Qt MySQL driver

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
sentrio
Piegowaty Guziec
Piegowaty Guziec
Posty: 24
Rejestracja: 05 gru 2009, 17:28
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Qt MySQL driver

Post autor: sentrio »

Nie mogę się połączyć z bazą danych Mysql lokalnie zainteresowaną na komputerze.

Kod: Zaznacz cały

#include <QCoreApplication>
#include <QtSql>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "Hello world3\n";
    qDebug() << qApp->libraryPaths();
    qDebug() << QSqlDatabase::drivers();

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("nauka");
    db.setUserName("root");
    db.setPassword("root");
    if (db.open())
        qDebug() << "opened\n";
    else
        qDebug() << "didnt open\n";

    db.close();

    return a.exec();
}
prosty kod.

próbowałem już kopiować plik libqsqlmysql.so ale nic nie daje, instalowałem brakujące pakiety i nadal nic.

Kod: Zaznacz cały

lucjan@laptop:~/build-qtsql-Desktop_Qt_5_1_1_GCC_64bit-Debug$ ldd libqsqlmysql.so 
	linux-vdso.so.1 =>  (0x00007fffd54d7000)
	libmysqlclient.so.18 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 (0x00007fb0f3593000)
	libQtSql.so.4 => /usr/lib/x86_64-linux-gnu/libQtSql.so.4 (0x00007fb0f3354000)
	libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fb0f2e72000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb0f2b6e000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb0f2958000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb0f258f000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb0f2376000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb0f2172000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb0f1f54000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb0f1c50000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fb0f194f000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb0f1746000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb0f3cf5000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fb0f1507000)
Podejrzewam że sterownik mysql jest tylko go nie linkuje
Bardzo proszę o pomoc bo mi zależy żeby projektu nie robić w Javie
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Qt MySQL driver

Post autor: jacekalex »

A nie możesz się połączyć z bazą bez QtSQL, z poziomu języka C++, wczytać co trzeba do pamięci i wyświetlić w okienku QT?

Byłoby to o tyle sensowniejsze, że wtedy można całą funkcjonalność do Mysqla wrzuć do zewnętrznej biblioteki, i jakby program miał dalej żyć własnym życiem, to można łatwo dorzucić mu obsługę PgSQL, Firebirda, MsSQL i Oracle, po prostu dodając kolejne biblioteki, i umożliwiając wybór typu bazy w preferencjach programu.

To chyba sensowniejsze rozwiązanie, niż zamykanie się w QtSQL niczym w klatce,
i raczej nie jest znacząco trudniejsze, niż kodzenie w samym QT.

Tu masz przykład:
http://www.kitek.pl/2008/06/08/c-mysql/

Poza tym QT-5.x - to jeszcze mocno testowa wersja, spróbuj na stabilnym QT4 - wersji np 4.8.5.

Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości