Hallo Buyden,
um prüfen zu können, ob der
MySQL Embedded Server für Dein Projekt in Frage kommt, wirst Du nicht an einem eigenen Test vorbekommen, glaube ich. Aber der sollte innerhalb einer Stunde erschlagen sein. Ich kann mir gut vorstellen, dass das was für Dich ist.
Viele Einstellungen des
MySQL Servers werden mit Compiler-Parametern bereits gesteuert. Manche davon können durch eine Konfigurations-Datei, die beim Start gelesen wird, oder über Kommandozeilen-Parameter überschrieben werden. Der embedded Server liest, genau wie der "herkömmliche" Server, eine solche Konfigurationsdatei. Unter Windows wird standardmässig nach einer Datei namens "my.cnf" gesucht, und zwar 1.) im Windows/System-Verzeichnis (globale Optionen) 2.) in C:\ (globale Optionen) und 3.) in C:\
mysql\data (serverspezifische Optionen). Man kann auch beim Starten des Servers mit "--default-file=..." einen eigenen Pfad zur my.cnf festlegen.
Weil ich einen
MySQL-Server (Linux) z.B. mit Transaktionen brauchte, habe ich ihn mir unter Linux auch selber kompiliert, es ist keine Hexerei. Leider ist das Client-Paket für Windows nicht separat erhältlich, man muss also die kompletten 17 MB des Server Quellcodes bei
mysql.com runterladen (aktuelle stabile Version: 4.1.10). Darin findest Du auch eine Datei mit Beschreibungen der vielen Compiler-Parameter, u.a. der Hinweis, dass man die Embedded
MySQL Library erhält, wenn man den Server mit der Option "--with-embedded-server" kompiliert. So werden die für einen in das eigene Projekt integrierten Server benötigten Libraries erzeugt.
Hier gibt's Infos dazu, wie man die Library in einem C-Projekt verwenden kann.
Ausser den Server-Quellen benötigst Du natürlich einen aktuellen C++ Compiler. Vor einer Kompilierung des Servers sollte man sich aber wirklich einen kompletten Überblick über die Konfigurations-Parameter verschaffen, denn nich alle lassen sich anschliessend zur Laufzeit des Servers mit Kommandozeilen-Parametern überschreiben. Wenn ich mich richtig erinnere, ist im Windows Source Code Paket übrigens auch eine Beispiel-Projektdatei für Microsoft Developer Studio enthalten.
Gruss,
Bernhard