Komunikacja PostgreSQL - C++


(ktoś tam) #1

Oto kolejna część moich zmagać z bazami danych. W poprzednim temacie pytałem się, jaką bazę danych wybrać i ostatecznie zdecydowałem się na PostgreSQL. Z bazą będą komunikować się programy pisane w C++. Problem polega na tym, że nie mam pojęcia, jak programy mają się z nią komunikować. Wybrałem to tego celu libpqxx. Nie mam pojęcia, co robić dalej. Kilka godzin szukania w internecie i nic. Wiecie, jak to zainstalować, czy coś? Znacie jakieś lepsze rozwiązania na komunikację PostgreSQL - C++?

 

Używam Eclipse CDT z MinGW na Windows 10.


(mikolaj_s) #2

Jeśli Twoje programy będą używać GUI to całkiem proste jest używanie modułu Qt5 do obsługi baz danych.


(ktoś tam) #3

Coś o tym module mi się przewinęło. Qt się uczę, bo zamierzam go używać do GUI. Natomiast z bazą będzie się komunikować tylko program obsługujący bazę (będzie wykonywał operacje i komunikował się z użytkownikami poprzez stronę lub klienta) i program administracyjny (prawdopodobnie także poprzez ww. program). Tak wszystko będzie się komunikować z bazą pośrednio.

 

Czy ten moduł Qt może konkurować z libpqxx?


(Kamatori) #4

http://www.tutorialspoint.com/postgresql/postgresql_c_cpp.htm tu masz jasny tutorial jak używać libpqxx’a.

 

Co do Qt, moduł jak moduł. Jeśli nie będziesz robić połączeń z GUI to branie Qt do tej roboty to jak strzelanie do muchy z armaty. 


(ktoś tam) #5

Znalazłem to już na samym początku. Problem polega na tym, że nie rozumiem, jak mam to zainstalować.


(Kamatori) #6

Przecież masz jasno stwierdzone na początku:


(mikolaj_s) #7

Można zawsze wykorzystać Qt Core Application do programu konsolowego, ale jeśli nie potrzebujesz wykorzystać sygnałów lub wątków to jak wspomniał Kamatori szoda zachodu.  Samo korzystanie z połączenia SQL w Qt jest całkiem proste, do tego można użyć innnych udogodnień jakie daje Qt.


(ktoś tam) #8

 

Dopiero teraz zrozumiałem, o co chodzi, ale zatrzymałem się na “make”. Po wpisaniu tego dostaję błąd: "make: *** No targets specified and no makefile found. Stop.

 

Proszę o pomoc, jestem świeży w tym


(Kamatori) #9

Jaki system? Jesteś w katalogu z plikiem? Co wywaliło polecenie configure? Nikt tu nie ma szklanej kuli żeby zgadywać co robisz i jak robisz. Błąd jasno wskazuje że make nie widzi makefile’a w katalogu w którym się znajdujesz. 


(ktoś tam) #10

System - Windows 10.

 

Konsola:

http://www.wklej.org/id/1801314

 

tar xvfz libpqxx-4.0.1.tar.gz

http://www.wklej.org/id/1801312

 

./configure

http://www.wklej.org/id/1801313


(Kamatori) #11

Jasno błąd wywaliło że nie widzi libki od postgresa. Masz też jasno wytłumaczone skąd ją wziąć i jak poprawnie skompilować to na windowsie w manualu. 

 

http://pqxx.org/development/libpqxx/browser/trunk/win32/INSTALL.txt#latest


(ktoś tam) #12

Co mam zrobić, żeby ją widziało?

 

Co do manuala:

281 - 304

Jak dla mnie nie jest tak jasno, nie wiem nawet, co mam pobrać.

 

 Ściągnąłem archiwum zawierające:

  • intl.dll

  • libeay32.dll

  • libiconv.dll

  • libpq.dll

  • ssleay32.dll

 

Zrobiłem to co na tym filmie, pierwszą metodą i udało się.

Jenak nie zamierzam używać Qt z ww. powodu.