我在通过System.Data.Sqlite连接到Sqlite数据库时遇到问题。我试图使用FluentNhibernate,但是没有用,所以我回到了基础但得到了同样的错误:在DLL sqlite3中找不到入口点sqlite3_open_v2。
这是我的(相当简单的我相信)代码:
using (SQLiteConnection connection = new SQLiteConnection("Data Source=Stripper.s3db;Initial Catalog=main;"))
{
using (SQLiteCommand cmd = new SQLiteCommand("select * from album", connection))
{
cmd.Connection.Open();
object t = cmd.ExecuteScalar();
cmd.Connection.Close();
}
}
我有一个System.Data.SQLite的引用,所以一切对我来说都很好。在互联网上的一些解释(你几乎不称它们为教程)并没有帮助我。
答案 0 :(得分:3)
它可能是您正在使用的Sqlite3的版本。 V2方法相对较新 - introduced in v3.5
答案 1 :(得分:0)
另一种可能的解释是您在64位应用程序中使用32位版本的提供程序。
答案 2 :(得分:0)
我刚刚从System.Data.Sqlite网站(sqlite.phxsoftware.com/)下载了v1.0.60.0,该网站导致http://sourceforge.net/project/showfiles.php?group_id=132486。你可以看到没有多少选择,所以我不能认为我在那里做错了什么。如果我没有弄错,Sqlite3包含在System.Data.Sqlite中,所以人们会期望它是好的版本。 我肯定在32位应用程序上使用32位版本。 我已经下载了安装程序,并将尝试使用它(我使用的是二进制文件)。