立山 发表于 2023-12-9 20:24:43

解决升级到 Delphi 12 后遇到 SQLite 不兼容的问题

今天升级到 Delphi 12 后,编译运行原来的项目,出现“-303.Capability is not supported”的错误。
https://img2023.cnblogs.com/blog/1013147/202311/1013147-20231108115052670-1191164117.png
经过查找文档,发现是FireDAC SQLite 版本更新导致的。
RAD Studio 12.0 支持 SQLite 3.42,同时保留了使用 FireDAC 加密(FDE)的 SQLite 3.31.1 的选项。由于 SQLite 3.42 版本放弃了 FireDAC 用于加密支持的机制,所以它不能再使用。因此,使用 FireDAC 和 SQLite 有三种不同的方式:
1、使用最新版本,不使用 FireDAC 加密。
2、使用付费的 SQLite EE(具有原生 SQLite 加密支持),FireDAC 从 RAD Studio 11.0 开始就支持了。
3、继续使用 SQLite 3.31.1 或更早版本,使用 FireDAC 加密(FDE)。
 不加密和使用付费的方式是可能的,这辈子都不可能。所以只能使用第三种方法:
只需将引用单元 “FireDAC.Phys.SQLiteWrapper.Stat” 改成 “FireDAC.Phys.SQLiteWrapper.FDEStat” 即可。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 解决升级到 Delphi 12 后遇到 SQLite 不兼容的问题