单声道Sqlite3 - 找不到sqlite3模块

时间:2013-04-25 19:46:41

标签: c# sqlite mono

我正在开发一个使用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);
            }
        }

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。

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

答案 1 :(得分:-1)

尝试安装:

sudo apt-get install libsqlite3-dev