Hallo Stephan,
ich meinte tatsächlich den odbc-Datenbanktreiber.
Es reicht ja die Treibersoftware von ch-werner zu installieren und damit kann ich Verbindungen zu jeder sqlite-Datei auf meinem Rechner von Base aus aufbauen.
(Nebenbei: Base läuft damit wohl auch ohne Java, erst fur die Report-Engine wird es wieder gebraucht.... War aber nie wirklich wichtig für mich)
DLL oder statisch gelinkt kann jeder Programmierer eigentlich selbst entscheiden (oder es wurde vom Entwickler der Programmierumgebung vordefiniert) und für DLLs gibt es halt einen Suchpfad, was zum Sicherheitsproblem DLL-Injection gehört.
Und jedes Programm bringt unter Windows die komplette Datenbank-Engine für sqlite mit. (Unter linux gibt es dagegen meist ein sqlite-Paket, dass der Paketmanager nur einmal installiert, so wie LibreOffice auch das vorinstallierte python3 einer Distribution nutzen kann)
Ich halte sqlite für extrem zuverlassig, wie eigentlich auch die HSQLDB. Das Problem bei letzterer ist der embedded Betrieb, der anscheinend dazu führen kann, dass Daten bei einem Absturz noch nicht gespeichert sind, ähnlich wie bei einer Textverarbeitung, wo mann z.B den letzten Absatz verliert.
Als Lösung wird der Betrieb als SplitDB empfohlen, was auch funktioniert, abr damit sind meine Daten "anderswo" und daher nehme ich sqlite als Grundlage der SplitDB und "lagere" die Daten zu xyz.odb im selben Verzeichnis als xyz.sqlite3
Meist erzeuge ich mir noch ein Minimal-Batch xyz.bat mit dem ich das Kommandozeilen-Tool aufrufen kann (sqlite3 xyz.sqlite3), was nett ist wenn man mal eben ein paar sql-Befehle absetzen will, oder Daten von/zu csv importieren/exportieren will.
Als Besonderheit bei sqlite sollte man sich faq#3 ansehen [url]
https://sqlite.org/faq.html#q3/[url] das ist nicht im Sinne der reinen Lehre, stört mich aber nicht.
Gerade bei Datenübernahme aus Calc sollte man das aber wissen.
Hauptunterschied zu MySQL ist aus meiner Sicht die fehlende Benutzerverwaltung, womit sqlite aber gut in ein Office-Paket passt, da mehrere Anwender gleichzeitig auch für Calc und Writer eher nicht vorgesehen sind (waren). MySQL ist also eher für Projekte bei der eine Datenbank für alle auf dem Server laufen soll, SQlite nehme ich für die lokale Einzelplatzlösung und muss dann eben auch kein gesondertes Backup nach Shutdown der Datenbank vorsehen.
Da sqlite in Python und Android verwendet wird und auch noch aktiv entwickelt wird, sehe ich da keine Sicherheitsprobleme. Die Einschränkungen bei ALTER TABLE umgehe ich mit SQliteStudio und irgendwelche speziellen JOIN-Varianten gibt es wohl auch nicht...
Mfg, Jörn