当前位置: 代码网 > it编程>编程语言>Delphi > 解决升级到 Delphi 12 后遇到 SQLite 不兼容的问题

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

2024年05月16日 Delphi 我要评论
今天升级到 Delphi 12 后,编译运行原来的项目,出现“[FireDAC][Phys][SQLite][sqlite3]-303.Capability is not supported”的错误。 经过查找文档,发现是FireDAC SQLite 版本更新导致的。 RAD Studio 12.0 ...

今天升级到 delphi 12 后,编译运行原来的项目,出现“[firedac][phys][sqlite][sqlite3]-303.capability is not supported”的错误。

经过查找文档,发现是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” 即可。

{$if (compilerversion>33.0) and (compilerversion<36.0)}
  firedac.phys.sqlitewrapper.stat,
{$elseif compilerversion >35.0 }
  firedac.phys.sqlitewrapper.fdestat,
{$endif}

 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com