没有这样的模块:fts4aux-查询使用 fts4aux 创建的 sqlite 虚拟表时出错

Posted

技术标签:

【中文标题】没有这样的模块:fts4aux-查询使用 fts4aux 创建的 sqlite 虚拟表时出错【英文标题】:no such module: fts4aux- Error while querying sqlite virtual table created using fts4aux 【发布时间】:2012-09-07 11:33:57 【问题描述】:

我正在尝试收集单词并从 fts4aux 表中构建一组来提供 AutocCompleteTextView。但是在访问使用 fts4aux 创建的虚拟表时遇到问题

我有一个虚拟表“ProductVirtual”。

CREATE VIRTUAL TABLE ProductVirtual USING fts4(name, company)

据此,我创建了一个名为“product_terms”的 fts4aux 表。

CREATE VIRTUAL TABLE product_terms USING fts4aux(ProductVirtual)

这是我的查询

从 product_terms 中选择术语

当我从数据库控制台对 sqlite 数据库运行此查询时,我能够检索结果。

但是当我从我的 android 应用程序中使用相同的查询时,它会引发以下错误

I/SqliteDatabaseCpp(26555): sqlite 返回: 错误代码 = 1, msg = no 这样的模块:fts4aux, db=/data/data/com.product/databases/product_device.db

同时我可以从安卓应用中查询 fts4 虚拟表 没有问题。所以,我确定 fts4 已启用。

但唯一的问题是使用“fts4aux”表。我该如何克服这个?我有吗 在某处单独启用“fts4aux”?

请发表您的想法。谢谢!

【问题讨论】:

您的应用是否至少使用 3.7.6 运行? select sqlite_version(); 感谢您的回复。是的,这是我运行的 sqlite 版本 3.7.12.1 我从未听说过Android with that version;这是哪个设备和操作系统版本? 【参考方案1】:

使用 fts4aux 需要 SQLite 3.7.6 或更高版本,如 Version of SQLite used in Android? 所示,这需要 Android 4.1 (Jelly Bean) 或供应商更新到更新 SQLite 版本的某些特定设备。

【讨论】:

以上是关于没有这样的模块:fts4aux-查询使用 fts4aux 创建的 sqlite 虚拟表时出错的主要内容,如果未能解决你的问题,请参考以下文章

Android 中的 FTS4 查询错误

需要调整我的 FTS4 SQLite 查询

如何在android中使用Room Library fts4查询整个表

带有 FTS4 表的 sqlite3:查询返回错误的行

SQLite3 FTS3/FTS4 匹配信息示例

如何增加 Sqlite FTS4 片段大小