Guten Morgen,
wo finde ich eine ausführliche Schritt-für-Schritt-Anleitung für das Erstellen einer Connection zu einer SQLITE-Datenbank? Im Netz finden sich Anleitungen ohne Zahl, die auch funktionieren, solange man sie Schritt für Schritt abarbeitet. Sobald ich aber eigene Wege gehe, scheitere ich.
Mein Ziel:
Auf Dienstrechnern möchte ich eine SQLITE-Datenbank mit einem Delphi
GUI anlegen. Weder ich noch die Kollegen haben Adminrechte und werden sie auch nicht bekommen. Die
DB wird auf einem gemeinsamen Netzlaufwerk liegen, das
GUI auf jedem Dienstrechner.
Mein Problem:
Obwohl es die SQLITE-
DB gibt und sie auch Tabellen enthält und diese auch Daten enthalten (alles mit Visual Studio Code angelegt bzw. eingegeben) und obwohl ich zur Designzeit sowohl die Connection (TFDConnection) als auch die Tabellen (TFDQuery) auf Connected bzw. Active setzen kann, erhalte ich zur Laufzeit die Fehlermeldung "Tabelle
tabellenname existiert nicht".
Ich habe mir daraufhin die Embarcadero (CE 10.4) Trainings-
DB SQLITE Demo genommen und mir eine der Tabellen via Datenexplorer in mein
GUI-Datenmodul gezogen. Dabei wird bekanntlich eine passende FDConnection erzeugt (die Tabelle aus der Beispiel-
DB habe ich sofort wieder gelöscht). In dieser Connection habe ich zur Designzeit lediglich den Database-Parameter auf den absoluten Pfad meiner SQLITE-
DB geändert und alle meine Datasets mit dieser FDConnection verbunden. Damit konnte ich vollkommen problemlos arbeiten. Nun wollte ich dem
GUI eine Möglichkeit hinzufügen, den Pfad zur
DB auf dem Dienstrechner selbst zu wählen (TOpenDialog). Den Parameter
Database mit dem kompletten absoluten Pfad habe ich gemäß der Anleitung (
http://docwiki.embarcadero.com/CodeE....SQLite_Sample) geändert:
Delphi-Quellcode:
with dbMain
do begin
Close;
// create temporary connection definition
with Params
do begin
Clear;
Add('
DriverID=SQLite');
Add('
Database=x:\path_to_database\db.sdb');
end;
Open;
end;
Jetzt erhalte ich die Meldung, dass meine Tabelle
tabellenname nicht existiert, obwohl sie es tut und ich zuvor problemlos mit ihr arbeiten konnte. An der
DB selbst und den Datasets in meinem
GUI habe ich keine Veränderungen vorgenommen, nur an der Connection.
Mein Verdacht:
Mit
Clear löscht man alle Params, fügt aber per Code nur zwei hinzu.
Wo liegt mein Denkfehler, was mache ich falsch?
Vielen Dank und freundliche Grüße,
René