【问题标题】:"Cannot find entry point sqlite3_open_v2 in DLL sqlite3" when using System.Data.Sqlite使用 System.Data.Sqlite 时“在 DLL sqlite3 中找不到入口点 sqlite3_open_v2”
【发布时间】:2008-12-11 20:05:34
【问题描述】:

我在通过 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,所以对我来说一切都很好。网上的一些解释(你几乎不能称它们为教程)并没有帮助我。

【问题讨论】:

    标签: sqlite system.data.sqlite entrypointnotfoundexcept


    【解决方案1】:

    它可能是您正在使用的 Sqlite3 版本。 V2 方法相对较新 - introduced in v3.5

    【讨论】:

    • 刚刚在winXP上遇到了同样的问题,通过安装最新版本的sqlite3解决了。
    【解决方案2】:

    另一种可能的解释是您在 64 位应用程序中使用了 32 位版本的提供程序。

    【讨论】:

      【解决方案3】:

      我刚刚从 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 位版本。 我已经下载了安装程序并将尝试使用它(我使用的是二进制文件)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-10
        • 1970-01-01
        • 2012-12-08
        • 1970-01-01
        • 2011-06-07
        • 1970-01-01
        • 2014-08-08
        相关资源
        最近更新 更多