【问题标题】:Custom persistent-storage?自定义持久存储?
【发布时间】:2009-12-25 04:08:01
【问题描述】:

我需要制作一个存储数据的桌面应用程序,我希望保护这些数据,此外,用户不必安装任何数据服务器(即 SQL-Server、office 等)。

我认为 XML 是最好的主意,问题是如何在享受数据的其他酷特性的同时保护数据,即 XML literals and XLinq (VB.NET 是我一生的挚爱)。

更新

用户不应该知道我在使用外部工具对我来说很重要。

任何关于此方法或其他方法的想法都将不胜感激。

【问题讨论】:

    标签: database storage local persistent-storage persistent-data


    【解决方案1】:

    你考虑过SQLite吗?它可以作为 DLL 和数据文件与您的应用程序捆绑在一起 - 无需其他任何东西。

    编辑:已经有一段时间了,但我相信还有一个嵌入式版本的 Firebird。不过没用过。

    【讨论】:

    • 我喜欢 SQLite 的想法,会去看看;它与实体框架兼容吗?我重新更新了关于 XML 的问题。
    • 我不知道 SQLite 是否与 Entity-Framework 兼容(我没有使用过那个包/产品)。我有一个用于 SQLite 的 .NET 插件:sqlite.phxsoftware.com 查看他们的网站了解详细信息。 “用户不应该知道我正在使用外部工具” - 正如我所说,SQLite 将是与您的应用程序捆绑在一起的 DLL 和数据文件。我认为除非用户知道要查找什么(以及在哪里),否则他们不会知道。
    • DLL id 足够好,根据您提供的链接,SQLite 也与 EF 兼容!
    【解决方案2】:

    SQLiteSQL Server Compact EditionSQL Server Express,如果您需要更多魅力。

    它们都是可再分发的 - 您的最终用户无需安装任何东西。

    至于加密,您的应用可以在检索数据库值后对其进行解密。或者如果使用 xml 文件,可以将文件加载到缓冲区中,解密并解析为 xml 文档。

    【讨论】:

    • SQL Server Compact Edition 的可分发二进制文件有多大?我知道 Express Edition 不是微不足道的 - 您必须构建一个安装脚本来安装和配置它(如果用户不这样做)。
    • CE 在几个 MB 之下,最初是为像袖珍电脑这样的嵌入式应用程序设计的。 EE 可以通过 msi 静默安装
    猜你喜欢
    • 2015-04-02
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多