Zenedith's dev blog

Dałem się namówić.., szatanowi chyba..

MySQL Connector/C++ : dostęp do bazy danych w cpp.

Jak połączyć się z bazą danych MySQL z poziomu kodu w języku cpp? Najprościej przy użyciu biblioteki MySQL Connector/C++. Możemy ją znaleźć na stronie dev.mysql.com/doc/refman/5.1/en/connector-cpp.html a dokładniej ściągnąć ze podstrony w sekcji download.

Potrzebujmy również bazy danych MySQL – ja skorzystałem z wersji mysql-5.0.67-win32.exe ale na stronie oficjalnej można znaleźć znacznie nowsze wersje.

Zastrzeżenie jest jedno – wersja którą ściągniemy musi posiadać katalogi include i lib (jeśli jest to archiwum zip) lub dać możliwość instalacji tych folderów, jak pokazuje screen poniżej:

mysql_libs_install

W związku z tym nie jest pewien co do zawartości wersji Essential, którą można znacznie szybciej ściągnąć ze względu na jej mniejszy rozmiar.

Instalując MySQL musimy zaznaczyć instalację developerskich bibliotek, ponieważ będą nam one potrzebne do kompilacji biblioteki MySQL Connector/C++.

Jeśli chcemy zaoszczędzić czasu przy ustawianiu projektu wspomnianej biblioteki, będziemy potrzebowali cross-platform narzędzia wspomagającego tworzenie gotowych do kompilacji projektów które nazywa się Cmake i wspomniałem już o nim przy okazji kompilacji biblioteki OpenAL na Debian’ie.

Odpalamy cmake przez cmake-gui.exe. Ujrzymy okno, w którym musimy parę rzeczy ustawić:

cmake_settings_01

Najważniejsze to wskazanie katalogu zawierającego źródła MySQL Connector/C++, gdzie znajduje się plik ustawień dla CMake. Następnie przyciskamy klawisz c, który wygeneruje konfigurację i sprawdzi ustawienia:

cmake_settings_02

cmake_settings_03

Musimy podać ścieżki do katalogów include i lib z instalacji MySQL jeśli nie mamy ich pod zmienną systemową którą przeszukuje CMake – podałem katalogi:

G:\Program Files\MySQL\MySQL Server 5.0\include oraz
G:\Program Files\MySQL\MySQL Server 5.0\lib\.

Ostatecznie przyciskamy klawisz c, który sprawdza ponownie konfigurację i ewentualnie podaje informacje o błędach.

Ostatecznie ustawienia wyglądają tak:

cmake_final_settings

Klawiszem g generujemy plik projektu dla wybranego środowiska (w moim przypadku VC2005). Możemy w tym momencie zakończyć pracę z CMake.

Otwieramy plik solution dla Visual Studio, który znajdziemy w folderze, który ustawiliśmy jako katalog dla „binaries„, zaraz po ścieżce do folderu z rozpakowaną biblioteką MySQL Connector/C++.

Środowisko jest w pełni ustawione, więc wystarczy tylko odpalić kompilację całego solution (np. w trybie debug jeśli ustawiliśmy w cmake katalog lib na lib\opt) i … poprawić jeszcze jeden błąd, a dokładniej, poprawić dane dostępu do naszej bazy danych:

vs2005_connection_info

i ewentualnie jeszcze raz przekompilować projekty.

W rezultacie otrzymamy m.in pliki biblioteki MySQL Connector/C++:

release_dir

Plik *.dll będzie potrzebny przy każdej aplikacji korzystającej z tej biblioteki więc warto przekopiować je w dostępne w zmiennej systemowej PATH miejsce, ponieważ w przeciwnym przypadku przywitać nas może poniższy komunikat:

missing_dll

Ostatecznie, odpalając przykład connect z przekopiowanym plikiem *.dll do jego katalogu, otrzymamy informację o powodzeniu przeprowadzeniu paru akcji na bazie danych:

connect_app_result

Reklamy

19 Styczeń, 2009 - Posted by | cpp | ,

Brak komentarzy.

Skomentuj

Proszę zalogować się jedną z tych metod aby dodawać swoje komentarze:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

%d blogerów lubi to: