Skip to content

[Qt] Instalacja QOCI dla Qt Creator

Posted in Nauka, and Programowanie

Witam, jako, że długi czas już tego nie robiłem, ale po instalacji nowej paczki Qt musiałem na nowo skonfigurować biblioteki odpowiedzialne za sterowanie połączeniem z bazą danych Oracle. W dokumentacji Qt nie wiedzieć czemu sposób jest… niepełny, przynajmniej w wypadku Windowsa. Dlatego też, ze względu na słabą pamięć, jak i dla potomnych pełny poradnik jak poprawnie postawić bazę na localhoscie Oracle, a także jak poprawnie, szybko i bezboleśnie przejść przez proces tworzenia bibliotek qsqloci.dll.

Jeżeli spotkałeś się z następującym komunikatem podczas używania Qt:

to ten wpis jest właśnie dla Ciebie.

Przygotowywanie serwera Oracle.

Cały proces przebiega dosyć intuicyjnie. Na początku ściągam paczkę Oracle Database Express Edition 11g Release 2. Po zaakceptowaniu warunków i ściągnięciu wypakowuję całą zawartość wraz z katalogiem DISK1 instaluję na domyślnych ustawieniach. Aby sprawdzić, czy wszystko działa, jeżeli nie zmieniałeś portów i zostawiłeś wszystko na ustawieniach domyślnych, to po kliknięciu w ikonę „Get Started” w starcie powinieneś/powinnaś zobaczyć okno główne do zarządzania sesjami i użytkownikami bazy danych.

Następnie pobieram Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit) client. Podobnie, jak wyżej akceptuję, ściągam i instaluję praktycznie na domyślnych ustawieniach. Z jednym wyjątkiem. Zauważyłem, że gdy podpiąłem do laptopa dysk zewnętrzny instalator chciał tam się rozpakować. Więc tylko się upewniam, że rozpakuje się w najprostszej ścieżce tj. „C\app\Username„. Z możliwych pakietów do wyboru wybieram Runtime.

Teraz przechodzimy do instalacji Qt.

Jeżeli posiadałeś wcześniej Qt, niż samą bazę, to nic się nie stało. Musisz tylko się upewnić, że do paczki z nr wersji masz zainstalowany element Source. Możesz to sprawdzić modyfikując pakiet Qt z poziomu panelu sterowania lub wejść bezpośrednio w Qt Maintenance Tool, albo po prostu sprawdź, czy w katalogu wersji znajduje się katalog Src.

Ze względu na to, że mam już wszystko zainstalowane pokażę Ci teraz na zrzucie ekranu jaki element jest wymagany, abyś mógł/mogła rozpocząć tworzenie bibliotek qsqloci.

Mingw, przygotwanie projektu, tworzenie bibliotek

Teraz kiedy mamy już wszystko przygotowane szukamy pliku oci.pro. Jeżeli postępowałeś na domyślnych ustawieniach to powinien on znajdować się w

C:\Qt\5.9.2\Src\qtbase\src\plugins\sqldrivers\oci

Samemu katalogowi całemu pamiętamy, aby zdjąć atrybut „tylko do odczytu” oraz zastosować to do plików i podkatalogów.

Jego zawartość jest taka:

Twoim zadaniem jest zakomentowanie wiersza

 

Dygresja

Jeżeli tego nie robiłeś wcześniej zapewne już wiesz, że przy użyciu komendy qmake oci.pro sktukowało to spotkaniem się z problemem pokroju

Project ERROR: Library ‚oci’ is not defined.

Dlatego też istotne jest zakomentowanie tego wiersza. Dla początkującego – wiersz w plikach *.pro robimy poprzez postawienie znaku #.

Uruchamiamy Qt 5.9 for Desktop (MinGW 5.3.0 32 bit). Przechodzimy do katalogu już nam znanego oci za pomocą komendy

Teraz mamy dwa, a w zasadzie 3 sposoby dodania zmiennych do makefile.debug i release. Pierwszy to wpisanie po prostu po kolei poleceń w cmd

lub też wywołanie jednej długiej komendy z poleceniem

na forum spotkałem się z tym, aby dodać też trzeci parametr, którego nie zastaniemy w tych plikach, to jest -loci. U mnie niestety to nie działało, więc w następnym kroku dodaję ten parametr ręcznie.

Otwieramy pliki Makefile.Release i Makefile.Debug w notatniku i wierszach zaczynających się od LIBS szukamy naszej ścieżki z drugiego parametru i zaraz za nią po spacji dopisujemy -loci. Zapewne domyślasz się, że trzecim sposobem jest własna ingerencja w powyższe pliki i uzupełnienie powyższymi ścieżkami.

Pamiętaj!

U mnie była to ścieżka C:\app\Bartosz , u Ciebie będzie tam Twoja nazwa użytkownika, a oprócz tego możesz już być w posiadaniu nowszego wydania, więc numer następnego katalogu też ulegnie zmianie.

Po pomyślnym wykonaniu polecenia qmake oci.pro otrzymasz informację:

Nie przejmuj się tym i wykonaj następne polecenie:

Porada

Jeżeli kiedyś już podejmowałeś próby tworzenia bibliotek i skończyły się one fiaskiem spróbuj najpierw przed poleceniem qmake użyć komendy mingw32-make clean. Jeżeli nadal nie będzie działaś musisz odinstalować i zainstalować ponownie Qt

Przykładowy wydruk konsoli po poprawnym przeprowadzeniu powyższej konfiguracji i uruchomieniu polecenia mingw32-make

Następnie wykonujesz polecenie mingw-32 install, oto jego wyniki przykładowe

Gratulacje, właśnie poprawnie skonfigurowałeś serwer Oracle, a także stworzyłeś biblioteki potrzebne do pracy dla Qt, czyli qsqloci dla QOCI.

Materiał opracowany na podstawie:
– własnego doświadczenia
– https://forum.qt.io/topic/80928/problem-building-oci-plugin-for-qt-5-9-1/12
– https://forum.qt.io/topic/84654/brakujący-plik-qtsqldrivers-podczas-ładowania-oci/3

Be First to Comment

Dodaj komentarz

%d bloggers like this: