You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Sqliteman无法加载SQLite扩展?已启用ENABLE_LOAD_EXTENSION

解决Sqliteman中加载SQLite扩展提示"not authorized"的问题

我之前也碰到过一模一样的情况,核心问题其实和编译选项无关——你已经确认ENABLE_LOAD_EXTENSION生效了,但SQLite出于安全考虑,默认会在运行时禁用扩展加载权限,必须手动开启才行。

为什么命令行能成功?

sqlite3命令行工具做了特殊处理:如果你用.load命令加载扩展,它会自动调用底层的sqlite3_enable_load_extension() API开启权限;就算你直接执行SELECT load_extension(),大概率也是之前已经通过PRAGMA或其他方式开启过权限了。但Sqliteman作为GUI客户端,默认不会自动打开这个权限开关。

具体解决步骤

在Sqliteman里按顺序执行以下两条SQL语句即可:

  1. 先手动开启扩展加载权限:
PRAGMA enable_load_extension = 1;
  1. 再执行你的扩展加载语句:
SELECT load_extension('path/extension.so');

额外提醒

  • 最好给extension.so用绝对路径,或者确认路径是相对于Sqliteman当前工作目录的,避免因路径找不到触发其他错误;
  • 极少数情况下,部分SQLite版本需要先关闭secure_delete才能开启扩展权限,如果上面的步骤无效,可以尝试先执行PRAGMA secure_delete = OFF;再开启权限。

内容的提问来源于stack exchange,提问作者Kyle Barbour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:32:10