【问题标题】:Where should I save database files?我应该在哪里保存数据库文件?
【发布时间】:2009-07-17 03:53:17
【问题描述】:

到目前为止,我的应用程序一直将其数据库存储在应用程序基目录中。部署后,它将在程序文件中,因此我无法将它们保留在那里!

明显的地方是:

Environment.SpecialFolder.LocalApplicationData
Environment.SpecialFolder.ApplicationData

一个问题是数据下载可以从计划任务中运行,因此我必须确保任务在同一用户下运行。

主要问题是几年后,这些数据库文件可能总计 5 到 10GB,所以我觉得我应该在安装后给用户一个选项来选择数据库位置。我必须确保它是可写的,而不是网络位置。

其他人提出了哪些解决方案?

【问题讨论】:

    标签: c# database filesystems


    【解决方案1】:

    关于检查对目录的写访问:到目前为止,我没有找到比在目录中创建文件并立即删除它更好的方法。如果您在这些步骤中遇到错误,则说明您的权限不足。 (记得先检查驱动器上是否有足够的可用空间)。

    我曾经尝试通过访问控制列表以编程方式解决这个问题,但后来我遇到了一个我有写入权限的目录,但没有列出 ACL 的权限...

    您可以使用System.IO.DriveInfo 对象的DriveType 属性检查给定驱动器是否为网络共享。至于处理UNC路径,我还没有找到比(myPath.Substring(0,2) == @"\\")更好的方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 2021-04-19
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多