Frage

Ich werde C/C++ verwenden und möchte wissen, wie ich am besten mit einem MySQL-Server kommunizieren kann.Sollte ich die Bibliothek verwenden, die mit der Serverinstallation geliefert wird?Gibt es außer der offiziellen Bibliothek noch andere gute Bibliotheken, die ich in Betracht ziehen sollte?

War es hilfreich?

Lösung

Andere Tipps

Das hängt ein wenig davon ab, was Sie tun möchten.

Schauen Sie sich zunächst Bibliotheken an, die Konnektivität zu mehr als nur einer DBMS-Plattform bieten.Qt macht es beispielsweise sehr einfach, eine Verbindung zu MySQL, MS SQL Server und vielen anderen herzustellen und den Datenbanktreiber (Verbindungstyp) zur Laufzeit zu ändern – mit nur wenigen Codezeilen.

MySQL-spezifische Bibliotheken sind in Ordnung, aber denken Sie daran, dass Sie sich auf eine DB-Implementierung beschränken – wenn Sie in Zukunft jemals etwas ändern müssen, wird das eine ganze Menge Arbeit bedeuten – selbst wenn Sie Ihren Code so entwerfen, dass die DB -spezifische Dinge sind hinter einer Fassade.Warum nicht eine Bibliothek verwenden, die Konnektivität zu mehreren Plattformen bietet, und sich die Mühe ersparen?

OTL ist eine solide Cross-DBMS-Lösung für C++, die mein Projekt seit Jahren verwendet.Wir verwenden es, um mit SQL Server (über ODBC) und Oracle (über OCI) zu kommunizieren.Es ist ziemlich einfach zu bedienen und enthält zahlreiche Beispiele für alle unterstützten Datenbanken.

An den MySQL-eigenen Client-Bibliotheken ist nichts auszusetzen.Wenn Sie bereit sind, sich damit zufrieden zu geben eingeschränkte Funktionalität, können Sie sich zusätzliche Portabilität verschaffen, indem Sie ODBC, UDBC, apr_dbd, oder eine andere Datenbankabstraktionsbibliothek (wie die bereits angebotene OTL).

Dadurch wird der Wechsel eines Back-Ends einfacher, allerdings, wie bereits erwähnt, auf Kosten weniger Funktionalität im Vergleich zum nativen Client.Da sich die DB-Anbieter unterscheiden, können die Abstraktionsbibliotheken nur die Funktionen anbieten, die allen (oder den meisten) Back-Ends gemeinsam sind.Ob Sie lieber für eine bestimmte Datenbank optimieren oder den Wechsel des Back-Ends erleichtern möchten, liegt bei Ihnen (und möglicherweise Ihrem Vorgesetzten).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top