为什么我无法从firedac打开我的sqlite数据库?

时间:2018-04-30 22:42:57

标签: delphi firedac

我可以使用sqlite maestro应用程序打开我的加密sqlite数据库但是我不能用fiedac我得到这个错误

  

[FireDAC] [Phys] [SQLite]错误:密码:指定了无效的密码   或DB已损坏

这是我的数据模块单元:

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 :(得分:4)

发现问题。根据{{​​3}}:

  

加密数据库格式与其他类似格式不兼容   SQLite加密扩展。这意味着你不能使用   加密数据库,使用非FireDAC库加密。如果你需要   为此,您必须使用原始工具解密数据库   并使用FireDAC对其进行加密。

我无法使用SQLite Maestro(不同的库)加密并在FireDAC中打开它,所以我必须解密它然后使用FireDAC加密数据库。我使用了Delphi附带的加密样本,现在我可以使用FireDAC打开它。