Es läuft endlich
anscheinend muß man urplötzlich
mysql_server_init/mysql_library_init und mysql_thread_init aufrufen
wobei angeglich das Server_Init doch nur für den Embedded-Server nötig sein sollte und irgendwie läßt dieses sich auch nicht parameterlos aufrufen, so wie man es überall sieht.
Ansonsten soll mysql_server_init eigentlich (laut Dokumentation) intern von mysql_init aufgerufen werden, wenn es noch nicht wurde ... schon komisch das alles.
Wenn ich es parameterlos versuche, so wie z.B. hier
Code:
(mysql_library_init(0, NULL, NULL))
Quelle:
http://dev.mysql.com/doc/refman/5.5/...rary-init.html
dann läuft dieses in eine Assert-
Exception, ala Parameter erwartet
im Anhang 3 Versionen, welche nun endlich lauffähig sind
- die normalen Header, wie man sie auf
mysql.com findet (statisch verlinkt)
- dann alles in Klassen (Records) verpackt, statisch verlinkt und Vieles als direkte Verbindung von der Record-Methode zur
DLL-Funktion
- und dann nochmal alles komplett mit UTF8Strings/AnsiStrings dynamisch verlinkt und ebenfalls mit möglichst direkten Verknüpfungen.
> bei Input-Parametern als
Ansi/UTF8 wird direkt weitergeleitet (das ist intern ja kompatibel zu PAnsiChar)
> bei Ausgabeparametern und bei Results als
Ansi/UTF8 wurde nur noch eine Kopieroperation PChar->String eingefügt.
die nötigen libmysql(d).dll's sind oben ja schonmal verlinkt
und jetzt muß ich nur noch rausbekommen, was beim Embedded-Server schiefläuft ... Initialisieren läßt er sich aber schonmal
PS: sind hier C++-Profies?
Aktuell hab ich nur den Embedded-Server als
DLL, aber man kann ihn auch direkt in die EXE verlinken ... leider nur bei C++.
Drum wäre die Frage: Könnte man das eigentlich auch irgendwie als OBJ kompilieren und dann doch direkt einbinden?
(so wie z.B. die
ZLib)
Man benötigt ja eigentlich nur den "
MySQL Community Server" und linke/kompiliere dann den Code statt gegen die
mysql.h gegen die mysqld.h (oder irgendwie so).
Und bevor nochmal einer meint, das würde gegen die
MySQL-Lizenzpolitik verstoßen:
die nutzen es auch >
http://www.mysql.com/customers/embedded/