0

我正在开发一个使用 Mono.Data.Sqlite dll 使用 sqlite 的项目,以便我的程序在 Windows 和单声道上是跨平台的。该程序成功构建,没有任何问题,但是当我运行该程序时,它会尝试连接到数据库。

但是,我收到一个错误

无法加载 DLL 'sqlite3':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

下面是我如何连接到 SQLite 数据库的代码

public SqliteConnection conn = null;
        private static string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        private static string exeName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
        public static string DATABASE_PATH = path + string.Format("\\BoardiesITSolutions\\{0}\\{0}.db", exeName);

        public ConnectSQLiteDatabase(string dbPassword)
        {
            try
            {
                Console.WriteLine("DB Password: {0}", Encryption.decrypt(dbPassword));
                conn = new SqliteConnection("Data Source="+DATABASE_PATH+";Password="+Encryption.decrypt(dbPassword));
                conn.Open();
            }
            catch (SqliteException ex)
            {
                Console.WriteLine("Open Error: " + ex.Message);
            }
        }

感谢您的任何帮助,您可以提供。

4

2 回答 2

0

我已经设法解决了这个问题。

我为 Windows 安装了预编译的二进制文件并将该 DLL 导入到我的项目中,因此它在 Windows 上工作正常。然后下载源代码并从链接http://system.data.sqlite.org/index.html/doc/trunk/www/build.wiki#mono手动构建单声道的 DLL并将其安装在 linux 服务器上现在在两个平台上都可以正常工作。

于 2013-04-26T18:35:37.687 回答
-1

尝试安装:

sudo apt-get install libsqlite3-dev 
于 2016-03-01T10:21:04.007 回答