4

是否可以测试是否在 SQLite 3 中从 C 接口或使用 SQL启用扩展加载而不实际尝试加载扩展?

4

1 回答 1

6

您可以使用此查询来检查扩展加载是否默认启用:

SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION');

但这只有在您知道sqlite3_enable_load_extension永远不会被调用时才对您有用。

内部SQLITE_LoadExtension标志不可访问;它仅在 SQLite 实际尝试加载扩展时才被读取。

您可以做的是尝试加载已知无效的扩展名,例如load_extension('/dev/null'). 如果扩展加载被禁用,错误消息将not authorized代替类似file too short.

于 2012-10-05T21:25:48.490 回答