正在获取sqlite3,操作错误:在sqlite3中加载扩展时未授权

qnzebej0  于 2023-04-30  发布在  SQLite
关注(0)|答案(1)|浏览(209)

我试图加载这些扩展libsqlite3.so.0json1以便在sqlite3中执行MySQL函数json_contains_path
但是在运行这个的时候我得到一个错误
以下是我到目前为止所做工作sqlite3.OperationalError: not authorized
这是我的代码

connection = sqlite3.connect(":memory:")
connection.execute("PRAGMA enable_load_extension = 1")
connection.execute("SELECT load_extension('libsqlite3.so.0', 'json1')")

我正在运行单元测试用例,所以我的数据库是在内存中创建的。
操作系统:Mac OS

dldeef67

dldeef671#

没有这样的pragma。你需要打电话

connection.enable_load_extension(True)

然而,默认情况下,MacOS上的底层sqlite3库根本没有启用扩展。你必须自己建造图书馆。
参考https://docs.python.org/3/library/sqlite3.html
总的来说,在Python代码中实现所需的功能可能更容易。

相关问题