一尘不染

如何将扩展加载到SQLite中?

sql

我需要在SQLite中使用标准偏差函数。我在这里找到一个:

http://www.sqlite.org/contrib?orderby=date

但它是SQLite扩展文件的一部分。我以前从未安装过其中一种,也不知道如何安装。我在http://www.sqlite.org/lang_corefunc.html上找到了这个现有函数
load_extension ,但是我不明白参数X和Y是什么。

基本上,我需要有人给我有关如何安装聚合扩展文件的逐步指南。有人可以这样做吗?


阅读 133

收藏
2021-03-17

共1个答案

一尘不染

SQLite扩展是具有动态链接的库。您可以在此处找到一些示例(这是一个化石库,单击``补全/填充验证码’‘以启用超链接)。例如,见md5.c

  • load_extension 必须在SQLite(pragma IIRC)中启用
  • 它需要第一个参数库的路径
  • 第二个参数是入口点函数的名称(在md5.c中是sqlite3_extension_init)。其原型必须为int(sqlite3*, char **, const sqlite3_api_routines *)
  • 在SQL中,您可以尝试SELECT load_extension('md5.so', 'sqlite3_extension_init');或简单地SELECT load_extension('md5.so');

您可以尝试编译md5.c,并从sqlite shell使用.load md5.so

2021-03-17