2009-01-20 9 views
8

Zastanawiam się, jakie rodzaje rozwiązań trwałości istnieją dla C++ z bazą danych SQL? Oprócz robienia rzeczy z niestandardowym SQL (i enkapsulacji dostępu do danych do DAO lub czegoś podobnego), czy są jakieś inne (bardziej ogólne) rozwiązania?Rozwiązania trwałości dla C++ (z bazą danych SQL)?

Podobnie jak niektóre ogólne biblioteki lub frameworki (coś w rodzaju Hibernate & co dla Java i .NET) czy coś innego? (Coś, o czym nawet nie pomyślałem, może również być mile widziane) "

EDYCJA: Tak, szukałem więcej dla rozwiązania ORM lub czegoś podobnego do obsługi zapytań sql i relacji między tabelami i obiektami niż dla sam silnik bazy danych. Dzięki za wszystkie odpowiedzi!

Odpowiedz

5

Wygląda na to, że szukasz ORM, więc nie musisz zawracać sobie głowy ręcznym kodem SQL.

Istnieje wpis here, który zawiera rozwiązania ORM dla języka C++.

Nie wspomniałeś również o typie aplikacji, którą piszesz, jeśli jest to aplikacja komputerowa, aplikacja mobilna, aplikacja serwera.

Komórka: najlepiej używać SQLite jako silnika bazy danych, ponieważ może on być osadzony i ma niewielki rozmiar.

Aplikacja na biurko: Wciąż powinieneś rozważyć użycie SQLite tutaj, ale masz także opcję, w której większość aplikacji komputerowych ma stałe połączenie z internetem, w którym to przypadku możesz chcieć dostarczyć serwer sieciowy dla tego zadania. Sugeruję używanie Apache + MySQL + PHP i używanie lekkiego ORM takiego jak Outlet ORM, a następnie używanie standardowych wywołań HTTP do uzyskiwania dostępu do twoich zasobów.

Aplikacja serwera: Masz tu o wiele więcej opcji, ale nadal sugeruję używanie Apache + MySQL + PHP + ORM, ponieważ uważam, że znacznie łatwiej jest utrzymać tę warstwę w języku skryptowym niż w C++.

+0

Powinienem był znaleźć ten wątek, ale nie. Dzięki! – Touko

+0

Link do rozwiązań ORM dla C++ jest martwy. – Banjocat

7

SQLite jest świetny: jest szybki, stabilny, sprawdzony i łatwy w obsłudze i integracji.

Istnieje również Metakit, chociaż krzywa uczenia się jest nieco stroma. Ale użyłem go z powodzeniem w profesjonalnym projekcie.

+1

Zapomniałeś jednej ważnej rzeczy: SQLIte jest darmowa, jeśli jest używana do jakichkolwiek celów. – sharptooth

0

Używam MYSQL lub SQLite.

MYSQL: Zapewnia opartą na serwerze bazę danych, do której aplikacja musi się dynamicznie łączyć.
SQLite: zapewnia bazę danych w pamięci lub bazę danych.

Używanie w pamięci DB jest przydatne do szybkiego rozwoju, ponieważ konfigurowanie i konfigurowanie serwera DB dla pojedynczego projektu jest dużym zadaniem. Ale kiedy już uruchomisz serwer DB, równie łatwo możesz go pozwać.

W pamięci DB jest przydatne do utrzymywania małych DB, takich jak konfiguracja itp. Podczas gdy dla większych zestawów danych serwer DB jest prawdopodobnie bardziej praktyczny.

pobrania stąd: http://dev.mysql.com/
pobrania stąd: http://www.sqlite.org/

1

SQLite + Hiberlite jest miły i obiecujący projekt. choć mam nadzieję, że będzie bardziej aktywnie rozwijany. zobacz http: // code.google.com/p/hiberlite/

Powiązane problemy