Einzelnen Beitrag anzeigen

Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#4

AW: Android findet meine DB nicht - [Firedac][Stan][Def]-254

  Alt 19. Okt 2019, 19:46
Hallo,

ich habe es nach vielem Herumprobieren endlich geschafft und möchte jetzt kurz beschreiben, was ich falsch gemacht hatte. Vielleicht gibt es ja außer mir noch weitere Leute, die an dem obigen Tutorial scheitern:

Ich hatte zunächst eine persistent Datenbank erstellt: Die Datei FDConnectionsDef.ini habe ich editiert und habe dort analog zu dem, was es dort schon zu SQLite gab, meine "Test" Datenbank aufgenommen.

FDConnection1.ConnectionDefName habe ich auf meinen DB-Alias "Test" gesetzt. Damit konnte ich in Windows problemlos verbinden.

Für Android musste ich zur Designzeit FDConnection1.ConnectionDefName und FDConnection1.ConnectionName leer lassen. Der Code in FDConnection1.BeforeConnect sieht jetzt so aus:

FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'Test.sdb');
FDConnection1.Drivername :='SQLite';


Wenn ich den Drivername zur Designzeit gesetzt hatte und ansonsten ConnectionDefName und ConnectionName leer lasse, hatte ich auch eine Fehlermeldung bekommen, dass ich keine DriverID hätte. Daher setze ich den Drivername auch in BeforeConnect.

Ich hatte dann zunächst noch meinen ursprünglichen Fehler bekommen und festgestellt, dass ich in der FDQuery, die automatisch auf "Active=true" ging, ebenfalls die Verbindung über ConnectionDefName angesprochen hatte.

Offenbar muss man für Android eine temporäre Connection erstellen und das funktioniert jetzt.

Viele Grüße
Anila
  Mit Zitat antworten Zitat