2014-07-08 32 views
0

最近我将一些winform应用程序数据移到了SQLite上。该应用程序在所有Windows机器上运行良好,但在Mac上Parallels我无法打开数据库文件错误。我可以创建没有任何问题的数据库文件。但只要我检查表存在我得到上述错误。使用SQLite在Parallels上运行的Winform

此文件创建步骤工作正常

SQLiteConnection.CreateFile(dbFile); 

但新的连接步骤失败。

SQLiteConnection dbConnection = new SQLiteConnection("Data Source=mydb.db3;Version=3;"); 

错误堆栈

System.Data.SQLite.SQLiteException:无法打开数据库文件 在System.Data.SQLite.SQLite3.Open(字符串strFilename,SQLiteConnectionFlags connectionFlags,SQLiteOpenFlagsEnum openFlags,的Int32 maxPoolSize,布尔usePool) at System.Data.SQLite.SQLiteConnection.Open() at App.clsSQLiteDB.CheckTableExists(String table)

+0

您没有发布错误消息。 – Dai

+0

你得到的异常是否有一个'InnerException',如果是的话,你可以发布异常类型和消息吗?如果你没有指定,你有没有检查过该类将使用的默认目录? –

+0

我无权访问Mac。我正在提供数据库的完整路径。与创建数据库文件路径字符串相同的路径字符串。这是什么与Mac所使用的Linux路径格式造成这种情况? – vinmen

回答

1

我设法解决了这个问题。必须在连接字符串中设置ParseViaFramework参数为true。

SQLiteConnection dbConnection = new SQLiteConnection("Data Source=mydb.db3;Version=3;", true); 
相关问题