SQLite: 使用 System.Data.SQLite.dll 1.0.101.0 出现“无此模块:fts5”错误。

8
我正在使用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吗?我该怎么做?
谢谢。
2个回答

15

我只收到了一个“…找不到过程”。你确定这对于实际的SQLite v1.0.103有效吗? - PeterCo
3
是的,我使用v1.0.103测试过了,没有问题。那个错误是因为你正在使用“System.Data.SQLite.dll”,但如果不使用“static-binary-bundle”包,则需要使用“SQLite.Interop.dll”。还要注意的是,代码必须在MyConnection.Open()之后。 - user2241289

0
在我的情况下,我试图从一个.NET Core 2.1项目中调用这个函数。
我没有成功地使用System.Data.SQLite.dll来实现这个目标,所以我选择引用Microsoft.Data.Sqlite.dll(版本5.0.11)。因为这是EntityFramework Core使用的包,它支持FTS5。
请注意,在通过NuGet添加Microsoft.Data.Sqlite时,你需要选择那个名字的包,而不是Microsoft.Data.Sqlite.Core,后者不包含SQLite所需的本地库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接