Einzelnen Beitrag anzeigen

schotti65

Registriert seit: 3. Sep 2010
Ort: Berlin
53 Beiträge
 
Delphi XE5 Enterprise
 
#1

Sydney 10.4 SQLite Encryption "Funktionalität wird nicht unterstützt"

  Alt 4. Aug 2020, 11:35
Datenbank: sqlite • Version: 3 • Zugriff über: Firedac
Eine SQLite Datenbank soll mit Encryption geöffnet werden.
Der folgende Code hat bis 10.3 funktioniert, bei 10.4 kommt die Fehlermeldung "Funktionalität wird nicht unterstützt":
Code:
   FLocalServerConnection := TFDConnection.Create(Self);
   ...
   FLocalServerConnection.Open('DriverID=SQLite;Database=dieDatenbankdatei;Password=aes-ecb-256:geheim');
Der Parameter "Password=..." aktiviert die Encryption und führt letztlich in FireDAC.Phys.SQLiteWrapper.pas zu der Prüfung, ob die dazu nötige Funktion vorhanden ist:
Code:
procedure TSQLiteDatabase.Key(const AKey: String);
...
  if Assigned(Lib.Fsqlite3_key) then begin
   ...
  end
  else
    FDCapabilityNotSupported(nil, [S_FD_LPhys, S_FD_SQLiteId, 'sqlite3']);
end;
Und jetzt kommt der Unterschied zwischen 10.3. und 10.4.:Während in 10.3 in FireDAC.Phys.SQLiteCli.pas noch die Funktion sqlite3_key(...) explizit deklariert war, ist sie es in 10.4 nicht mehr, und wird deshalb nur in sqlite3.dll gesucht.
Und da ist sie nicht.

Wer weiss Rat?

Geändert von schotti65 ( 4. Aug 2020 um 11:49 Uhr)
  Mit Zitat antworten Zitat