Ansatz, um in einem Programm alternativ zwei Datenbanksysteme anzusprechen (SQLite und z.B. CubeSQL)

Hallo zusammen,

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.

Vielleicht
https://www.monkeybreadsoftware.de/xojo/plugin-sql.shtml

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).

1 Like

Valentina-Server unterstützt zwar sowohl Valentina als auch SQLite als Server. Aber der Code ist schon unterschiedlich.

Eigentlich nicht, zumindest habe ich nichts grossartig ändern müssen…

Hallo, ich würde einen Layer einziehen, um das Thema komplett zu entkoppeln.

Ein Ansatz wäre ARGEN, oder ein ORM-Mapper : gibts bestimmt auch für XOJO.

Update : und natürlich : https://capp.systems/

Die nächste Frage ist dann noch, alles in einem MVC Ansatz oder doch Logic in der Datenbank.

Falls es das Bundle noch gibt : kaufen… billiger kommt man nicht an Valentina Server und den DB Designer: der auch Versionierung kann.

VG Rainer

Das ist eine Office-Lizenz und keine richtige. D.h. Valentina darf man auf einem Server einsetzen.

Danke, wieder was gelernt…
Gruß Rainer…

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…

Macht das Leben auf der App-Schicht leichter.

VG Rainer

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…

Danke allen für die vielen Infos!

VG Peter

1 Like