代码之家  ›  专栏  ›  技术社区  ›  Abdo Sabry

如何启用SQLite3-cli加载扩展

  •  0
  • Abdo Sabry  · 技术社区  · 9 月前

    我已经在sqlite3中下载了我想要的扩展,它是 spellfix 当我打开sqlite3启用它时,cli无法识别sqlite函数

    不确定如何加载扩展 spellfix.dll 我几乎描述了同样的错误 here (我也检查了答案,但没有结果)

    我尝试了以下方法

    discordbot\database> sqlite3 database.db
    SQLite version 3.42.0 2023-05-16 12:36:15
    Enter ".help" for usage hints.
    sqlite> .load ./spellfix
    Error: unknown command or invalid arguments:  "load". Enter ".help" for help
    sqlite> .dbconfig load_extension on
         load_extension on
    sqlite> SELECT load_extension('./spellfix');
    Parse error: no such function: load_extension
      SELECT load_extension('./spellfix');
             ^--- error here
    sqlite> SELECT load_extension('spellfix');
    Parse error: no such function: load_extension
      SELECT load_extension('spellfix');
             ^--- error here
    sqlite>
    
    1 回复  |  直到 9 月前
        1
  •  1
  •   OregonTrail    9 月前

    首先检查sqliteshell中的当前目录(假设您在Windows上,这里有.dll文件)。

    sqlite> .shell cd
    

    此命令的输出将告诉您在文件系统上放置扩展的位置。例如,您可能正在特定的项目目录中工作。然后,将.dll文件放置在该位置。然后,在sqliteshell中,您可以加载您的扩展。

    sqlite> .load spellfix.dll
    

    在我的机器(Linux机器)上,我看到这样的输出。

    ~ $ sqlite3
    SQLite version 3.46.0 2024-05-23 13:25:27
    Enter ".help" for usage hints.
    Connected to a transient in-memory database.
    Use ".open FILENAME" to reopen on a persistent database.
    sqlite> .shell pwd
    /home/admin
    sqlite> .load myextension.so
    Error: myextension.so.so: cannot open shared object file: No such file or directory
    sqlite> 
    

    如果您没有看到类似的输出,请尝试从sqlite下载页面获取sqlite-tools-win-x6-*.zip文件 sqlite.org/download.html 并使用其中的sqlite3.exe。