Imię ..........Piotr
Nazwisko ........Lewicki
Wiek ..
Wzrost 72.4409449 inch
Waga ...2574.9728 oz
Narodowość .........Polska

07-07-2008

MySQL++ – genialny wynalazek

Filed under: C++ — Tagi: , , , — Levik @ 07:09

Prawdą jest, że mysql++ to rewelacyjna biblioteka, ale nie jestem w stanie policzyć ile godzin walczyłem, żeby ją zainstalować i skompilować program na moim Xubuntu 7.04. Cała historia, zaczęła się od pomysłu na bota, o którym zapewne jeszcze nie raz napiszę. Wracając do sedna – bot miał komunikować się z bazą danych. Zacząłem szperać i trafiłem na mysql++ jako w pełni darmowe rozwiązanie, o którym wszyscy wypowiadają się w samych superlatywach. Z tej strony www.tangentsoft.net/mysql++/ zassałem paczki (2.3.2) i do dzieła.

Pakiety, jakie należy zainstalować, aby wogóle zacząć myśleć o mysql++ to:

mysql-client i libmysqlclient15-dev

Następnie możemy przejść do wydania poleceń (na moim sprzęcie troszkę to wszystko trwało – Toshiba 1800-554):

 # ./configure
 # make
 # make install

Po tym wszystkim pomyślałem „no to teraz biorę się do roboty”, ale niestety to był dopiero początek…
Mój kompilator rzecz jasna g++ korzystam również z IDEAnjuta. W moim przypadku polecenie kompilacji wygląda tak :

g++ test.cpp -o test -I /usr/local/include/mysql -I /usr/local/include/mysql++ -l mysqlpp -l mysqlclient

Wszystko pięknie, niestety jest jeszcze jedno „ale” program nie zadziała, jeśli nie dodamy tej linii kodu:

/usr/local/lib
do pliku /etc/ld.so.conf, następnie jako root wydajemy polecenie
#ldconfig

Dopiero teraz możemy cieszyć się naszym programem, poniżej wklejam przykładowy kod. Jeśli pojawią się jakieś pytania problemy piszcie śmiało.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <mysql.h>
using namespace std;
using namespace mysqlpp;
 
int main() {
 
try {
 
char db[]     = "nazwa_bazy_danych";
char host[]   = "host";
char user[]   = "user";
char passwd[] = "spass";
 
Connection c(db, host, user, passwd);
 
if(c)
  cout << "==> Połączenie OK";
else
  cout << "==> Sprawdz połącznie - ERROR ";
 
} catch (Exception& e) {
  cout << "==> Error: " << e.what() << endl;
}
 
}

Brak komentarzy »

Brak komentarzy.

Dodaj komentarz

Obraz CAPTCHY

- by levik@wp.pl L3VIK -

Jesteś gościem numer - Twój adres IP to: 38.107.179.212