Projekt qt Creator + OracleDB

0

Hej,
Szukam pomocy - mam problem z połączeniem DB w Oracle z qt Creator.
Mam na studenckie zaliczenie napisać program który współpracuje z bazą danych w Oracle SQL Developer(tak sobie wybrałem).
Wybrałem apkę GUI a za swoje środowisko qt Creator, niestety nie umiem połączyć się z już istniejącą bazą i nie wiem kompletnie od czego zacząc gdyż moja wiedza z samym qt jest słaba, pomoże ktoś? :D

Edit: Jestem skłonny także zmienić technologie qt na c++ builder(mam wersje 6-darmowa) z którym jestem bardziej obeznany(jeżeli ktos zna dobrego tutka jak połączyc db :)).

1

Na przykładzie MariaDB. Ale schemat postępowania do innych baz danych jest taki sam. Wystarczy podać sterownik. I teraz pytanie jest takie, czy do twojego oracla trzeba kompilować sterownik ?

  1. Do MariaDB trzeba zbudować sobie moduł który służy do łączenia skompilowanego programu z bazą danych
  2. Jeżeli chodzi o kod, to wygląda to mniej więcej tak
connect_db::connect_db()
{
//    connect = QSqlDatabase::addDatabase("QSQLITE");  //Wybierasz sterownik do bazy danych
//    connect.setDatabaseName(QString("boi3.db")); //Wskazujesz nazwę bazy danych z którą trzeba się połączyć

/* *** LUB *** */

    connect = QSqlDatabase::addDatabase("QMYSQL"); //Wybierasz sterownik do bazy danych
    connect.setHostName(QString("127.0.0.1"));  //zamiast nazwy bazy danych możesz podać adres IP serwera z bazą danych
    connect.setDatabaseName(QString("boi")); //Wskazujesz nazwę bazy danych z którą trzeba się połączyć
    connect.setPort(3306); //tu wskazujesz port - akurat ten port dotyczy MariaDB
    connect.setUserName(QString("root")); //nazwa użytkownika - akurat dotyczy MariaDB
    connect.setPassword(QString("")); //hasło ** Jeżeli jest, to podajesz, Jeżeli nie ma to zostawiasz puste ** - dotyczy MariaDB
}

Gdzieś dalej w kodzie możesz sprawdzić połączenie z bazą danych

    if(connect.open()==status){
        qDebug()<<"połączono";
        return true;
    }
    else{
        qDebug()<<"brak połączenia";
        return false;
    }

a tutaj dokumentacja gdzie jest opisane, jakie sterowniki obsługuje Qt.

Z dokumentacji wynika, że w twoim przypadku musisz wpisać sterownik o nazwie QOCI

I taka mała wisienka na torcie, jeżeli chcesz coś do obsługi baz danych, to polecam DBeaver

0

Czyli chcesz zeby za ciebie ktos to zrobił? Przejrzałeś chociaż dokumentację? https://doc.qt.io/qt-5/sql-driver.html

1

znalazłem jak skompilować sterownik QOCI ale nie wiem czy to jest aktualne, bo w wersji Qt5 mogło coś się zmienić

1 użytkowników online, w tym zalogowanych: 0, gości: 1