【问题标题】:deployable database on CDCD 上的可部署数据库
【发布时间】:2015-04-29 17:17:19
【问题描述】:

我有一个 Microsoft SQL 数据库,当前连接到一个 winforms C# 应用程序,它在单台计算机上运行良好,但我希望它可以在 CD 上供任何用户使用。

我尝试将其作为 localDb 放入,但由于某种原因,数据库被复制并放入 bin 文件夹中,这会导致记录数据时出现多个问题,例如我将用户 ID 5 保存在 bin 中但从未更改真正的数据库。然后接下来我去创建它,用户 ID 更改为 7,而用户 6 在两个数据库中都不可见(是的,它会自动递增 1)

如果 winform 应用程序也在 CD 上,任何有关使数据库可用和通过 CD 读取的建议或最佳方法

【问题讨论】:

  • 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
  • 即使您知道如何从原始位置访问数据库,它也只是只读的,因为 CD 将是只读的。我不知道有允许随机读/写的 CD
  • MS SQL Server 不会从只读文件(如 CD)装载数据库。
  • 还有其他想法吗?
  • ...“正确读取和写入便携式 CD 上的数据库”...您沉没在这里。不会发生对 CD 的随机写入访问。当然不是使用 SQL Server 数据库。重新考虑你的目标。

标签: c# sql .net sql-server winforms


【解决方案1】:

我自己没有尝试过,但根据文档 SQLite 支持只读数据库。

如果文件是只读的(由于权限位或因为它位于只读媒体,如 CD-ROM),则 SQLite 以只读方式打开数据库。整个 SQL 数据库存储在磁盘上的单个文件中。但在执行 SQL 命令期间可能会创建额外的临时文件,以存储数据库回滚日志或查询的临时和中间结果。

https://www.sqlite.org/c_interface.html

.NET SQLite 提供程序可在此处获得:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2011-06-14
    • 2011-11-21
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多