Persistenzlösungen für C ++ (mit einer SQL-Datenbank)?

8

Ich frage mich, welche Art von Persistenz-Lösungen gibt es für C ++ mit einer SQL-Datenbank? Gibt es neben den üblichen SQL-Funktionen (und dem Kapselung des Datenzugriffs auf DAOs oder ähnlichem) auch andere (allgemeinere) Lösungen?

Wie einige allgemeine Bibliotheken oder Frameworks (etwas wie Hibernate & amp; co für Java und .NET) oder etwas anderes? (Etwas, an das ich nicht einmal gedacht habe, kann auch gerne vorgeschlagen werden)

EDIT: Ja, ich habe mehr nach einer ORM-Lösung oder ähnlichem gesucht, um SQL-Abfragen und die Beziehungen zwischen Tabellen und Objekten zu behandeln, als für die db-Engine selbst. Danke für alle Antworten trotzdem!

    
Touko 20.01.2009, 14:43
quelle

5 Antworten

5

Es klingt, als ob Sie nach einem ORM suchen, so dass Sie sich nicht mit manuellem SQL-Code beschäftigen müssen.

Es gibt einen Post hier , der über ORM-Lösungen für C ++ geht.

Sie haben auch nicht den Typ der Anwendung erwähnt, die Sie schreiben, wenn es sich um eine Desktop-Anwendung, eine mobile Anwendung oder eine Server-Anwendung handelt.

Mobil: Am besten verwenden Sie SQLite als Datenbankmodul, da es eingebettet werden kann und einen geringen Platzbedarf hat.

Desktop-App: Sie sollten hier noch SQLite verwenden, aber Sie haben auch die Option, dass die meisten Desktop-Anwendungen eine ständige Verbindung zum Internet haben. In diesem Fall sollten Sie einen Netzwerk-Server für diese Aufgabe bereitstellen. Ich schlage vor, Apache + MySQL + PHP zu verwenden und ein leichtes ORM wie Outlet-ORM zu verwenden und dann Standard-HTTP-Nachrufe zu verwenden um auf Ihre Ressourcen zuzugreifen.

Server App: Sie haben hier viele weitere Optionen, aber ich empfehle immer noch Apache + MySQL + PHP + ORM, weil ich finde, dass es viel einfacher ist, diesen Layer in einer Skriptsprache zu pflegen als in C ++.

    
Klathzazt 20.01.2009, 17:57
quelle
7

SQLite ist großartig: Es ist schnell, stabil, bewährt und einfach zu verwenden und zu integrieren.

Es gibt auch Metakit , obwohl die Lernkurve ein wenig steil ist. Aber ich habe es mit Erfolg in einem professionellen Projekt eingesetzt.

    
fbonnet 20.01.2009 14:56
quelle
1

MySQL Connector / C ++ ist eine C ++ - Implementierung von JDBC 4.0

Die Referenzkunden, die MySQL Connector / C ++ verwenden, sind: - OpenOffice - MySQL Workbench

Erfahren Sie mehr: Ссылка

    
MySQL Workbench 07.03.2009 08:23
quelle
1

SQLite + Hiberlite ist ein schönes und vielversprechendes Projekt. obwohl ich hoffe, dass es sich aktiver entwickelt. siehe http: // code.google.com/p/hiberlite /

    
Afriza N Arief 20.05.2009 05:50
quelle
0

Ich verwende MYSQL oder SQLite.

MYSQL: Stellt eine serverbasierte Datenbank bereit, mit der sich Ihre Anwendung dynamisch verbinden muss.
SQLite: Stellt eine In-Memory- oder Datenbankdatei bereit.

Die Verwendung der Arbeitsspeicher-DB ist nützlich für eine schnelle Entwicklung, da das Einrichten und Konfigurieren eines DB-Servers nur für ein einzelnes Projekt eine große Aufgabe ist. Aber sobald Sie einen DB-Server laufen haben, ist es genauso einfach, das zu verklagen.

Im Speicher ist DB nützlich, um kleine DB wie Konfiguration etc. zu halten. Während für größere Datenmengen ein DB-Server wahrscheinlich praktischer ist.

Download von hier: Ссылка
Download von hier: Ссылка

    
Martin York 21.01.2009 04:43
quelle