6

我正在使用 System.Data.SQLite.dll 1.0.101.0,执行命令“CREATE VIRTUAL TABLE tbl_fts USING fts5 (fld1, fld2)”时出现此错误。

错误:没有这样的模块:fts5

在此页面中我们可以看到:1.0.99.0 - 2015 年 12 月 9 日

•添加对原生 json1 和 fts5 扩展的实验性支持

https://system.data.sqlite.org/index.html/doc/trunk/www/news.wiki

那么问题是什么,我该如何启用 fts5,我应该重建 System.Data.SQLite.dll 吗?我怎样才能做到这一点?

谢谢..

4

2 回答 2

12

这里的解决方案,超过 6 小时的工作,直到找到它:

    MyConnection.EnableExtensions(True)
    MyConnection.LoadExtension("System.Data.SQLite.dll", "sqlite3_fts5_init") ''/// Or "SQLite.Interop.dll" as you need.

我通过这句话理解了这一点:“为 FTS5 可加载扩展添加实验性支持。(用户:matchkin)”

http://system.data.sqlite.org/index.html/finfo?name=SQLite.Interop/SQLite.Interop.2010.vcxproj

于 2016-06-02T21:43:42.680 回答
0

就我而言,我试图从 .NET Core 2.1 项目中调用它。

我没有设法让这个工作,System.Data.SQLite.dll所以我引用了Microsoft.Data.Sqlite.dll(版本 5.0.11)。因为这是支持 FTS5 的 EntityFramework Core 使用的包。

请注意,Microsoft.Data.Sqlite通过 NuGet 添加时,您需要具有该名称的包,而不是 Microsoft.Data.Sqlite.Core不包含 SQLite 所需的本机库的包。

于 2021-10-15T16:34:34.093 回答