почему я не могу открыть свою базу данных sqlite от firedac? - PullRequest
0 голосов
/ 01 мая 2018

Я могу открыть свою зашифрованную базу данных sqlite с помощью приложения sqlite maestro, но не могу с помощью fiedac Я получаю эту ошибку

[FireDAC] [Phys] [SQLite] ОШИБКА: Шифр: указан неверный пароль или БД повреждена

Вот мой модуль данных:

object DM: TDM
  OldCreateOrder = False
  Height = 306
  Width = 468
  object FDConnection1: TFDConnection
    Params.Strings = (
      'Database=C:\myapps\mydb.db'
      'Password=mypass'
      'DriverID=SQLite')
    LoginPrompt = False
    Left = 48
    Top = 16
  end

Я написал ключ шифрования как пароль, но когда я не вводил пароль, я получаю сообщение об ошибке:

[FireDAC] [Phys] [SQLite] ОШИБКА: файл зашифрован или не является базой данных.

В чем проблема?

1 Ответ

0 голосов
/ 01 мая 2018

Нашел проблему. Согласно документации :

Формат зашифрованной базы данных не совместим с другими подобными Расширения шифрования SQLite. Это означает, что вы не можете использовать зашифрованная база данных, зашифрованная не-FireDAC библиотеками. Если тебе надо чтобы сделать это, вы должны расшифровать базу данных с помощью оригинального инструмента и зашифруйте его с помощью FireDAC.

Я не могу зашифровать с помощью SQLite Maestro (другая библиотека) и открыть его в FireDAC, поэтому я должен расшифровать его, а затем зашифровать базу данных с помощью FireDAC. Я использовал пример шифрования, поставляемый с Delphi, и теперь я могу открыть его с помощью FireDAC.

...