【问题标题】:Winform running on Parallels with SQLite使用 SQLite 在 Parallels 上运行 Winform
【发布时间】:2014-08-29 17:00:41
【问题描述】:

最近我将一些 winform 应用程序数据移至 SQLite。该应用程序在所有 Windows 机器上运行良好,但 Mac 上的 Parallels 我无法打开数据库文件错误。我可以毫无问题地创建 db 文件。但是,一旦我检查表存在,我就会收到上述错误。

这个文件创建步骤工作正常

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) 在 System.Data.SQLite.SQLiteConnection.Open() 在 App.clsSQLiteDB.CheckTableExists(字符串表)

【问题讨论】:

  • 你没有发布错误信息。
  • 您收到的异常是否有InnerException,如果有,您能否也发布异常类型和消息?如果您不指定,您是否检查过该类将使用的默认目录?
  • 我无法使用 Mac。我正在提供数据库的完整路径。与创建数据库文件路径字符串相同的路径字符串。这与mac使用的linux路径格式有关吗?

标签: c# winforms sqlite


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多