抛出异常:mscorlib.dll中的“System.IO.FileNotFoundException”(“无法找到文件'cache-journal.db'。”)

时间:2016-07-13 01:16:01

标签: c# litedb

使用LiteDB,数据库的初始构造没有实际问题,但是在后续加载时,它正在尝试查找不存在的文件。

根据他们的文档,日记功能是默认情况下启用的,但是它没有记录如何禁用它,或者更理想的是,如何确保实际创建日志文件。

您可以在他们的网站上使用他们的演示,或者我的其他stackoverflow问题(LiteDB: Invalid BSON data type 'Null' on field '_id')中的代码,它将通过跟踪打开生成以下异常来演示此问题:

  

抛出异常:mscorlib.dll中的'System.IO.FileNotFoundException'(“无法找到文件'D:\ Code \ bin \ Debug \ cache-journal.db'。”)

...其中D:\Code\bin\Debug\会根据您测试此处的位置而有所不同。

我认为应该解决以上异常的问题是:

  • 如何确保创建日记文件?
  • 如何禁用日记功能(如果需要)?

1 个答案:

答案 0 :(得分:1)

在v1.0.4中:默认情况下启用日记帐模式,可以使用journal=false在连接字符串中禁用日记帐模式。但是在打开数据库时仍会测试日志文件。

在2.0.0-rc中:日志模式仅在磁盘实现中启用(Stream初始化中没有日志)。要禁用,请使用journal=false。现在,如果你的日志被禁用 - 没有磁盘检查。