我正在使用使用Mono.Data.Sqlite DLL的SQLite项目,以便我的程序跨平台在Windows和单声道。该程序成功构建,没有任何问题,但是当我运行该程序时,它试图建立与数据库的连接。单声道Sqlite3 - 找不到sqlite3模块
不过,我得到一个错误
无法加载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);
}
}
感谢您的帮助,您可以提供的代码。
我想你可能会在Windows上运行时,使用Windows的互操作(Win32的编译SQLite的)库。 .NET代码可能是跨平台的,但SQLite二进制文件可能不是。文件格式相同,是的,但二进制可执行文件,没有。 – 2013-04-25 19:58:24