ich suche einen Ansatz, um in einem Programm alternativ zwei verschiedene Datenbanksysteme anzusprechen (SQLite und z.B. CubeSQL).
Ich möchte für eine Einzelplatzversion SQLite, für eine Netzwerkversion z.B. CubeSQL verwenden.
Das Projekt ist aktuell für SQLite angepasst, neue Anforderungen benötigen z.B. CubeSQL oder MariaDB.
Welchen Ansatz kann ich für die Datenbankauswahl wählen, um nicht große Programmteile umschreiben zu müssen? Danke vorab für eure Tipps.
Evtl. mal anstelle von CubeSQL Valentina anschauen? Da gibt es eine lokale und serverseitige Unterstützung von SQLite - ohne grossartig was ändern zu müssen (im Gegensatz zu CubeSQL, wo ja m.W. Anpassungen nötig sind).
Die SQL Abfrage Sprache ist oft sehr unterschiedlich aber vieleicht findest Du da einen gemeinsamen Nenner.
Könntest bedingte Kompilierung nutzen.
Bei einer Windows Umgebung würde mir ODBC in den Sinn kommen.
Nachteil von ODBC, man muß diese Verbindungen einrichten
und man hat nicht die volle Befehls Unterstützung.
Man kann z.B. bei MS ODBC eine Excel Tabelle oder Tab getrennte Datei einrichten und über diese ODBC
Schnittstelle mehr oder weniger gut einheitlich darauf zugreifen.
Deswegen auch der Abstraction Layer…
Alternative : den Datenbankteil als eigene Lib schreiben , die man dann on the fly umswitchen kann.
Hat MBS bestimmt schon so gelöst,
Hat er , hat er : MBS Xojo SQL Plugin
Und für das Geld kann mans kaum selber machen, vor allem was das alles drin ist…
Wobei Paradigma auch relativ günstige Konditionen für OEM Server anbietet. Die Einstiegsversion kommt gleich mit 10 gleichzeitigen SQLite Verbindungen: Developer Network
Lohnt sich natürlich nur, wenn man den VServer zusammen mit dem eigenen Programm anbieten möchte…