2009-12-25 121 views
0

我需要制作一个存储数据的桌面应用程序,我希望这些数据受到保护,此外,用户不必安装任何数据服务器(即SQL-Server,Office等)。我认为XML是最好的主意,问题是如何在保护数据的同时享受其他很酷的功能,这是XML literals and XLinq (VB.NET是我生命中的挚爱)。自定义持久存储?

UPDATE

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

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

回答

2

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

编辑:它已经有一段时间了,但我相信也有Firebird的嵌入式版本。从来没有使用它。

+0

EF是否支持它? – Shimmy 2009-12-25 04:40:18

+0

我喜欢SQLite的想法,会检查出来;它是否与Entity-Framework兼容? 我重新修改了关于XML的问题。 – Shimmy 2009-12-25 05:02:36

+1

我不知道SQLite是否与Entity-Framework兼容(我还没有使用该包/产品)。有一个.NET插件,我用于SQLite:http://sqlite.phxsoftware.com/ 检查他们的网站的详细信息。 “用户不应该知道我正在使用外部工具” - 正如我所说,SQLite将是一个DLL和数据文件与您的应用程序捆绑在一起。我不认为用户会知道,除非他们知道要寻找什么(以及在哪里)。 – FrustratedWithFormsDesigner 2009-12-25 17:16:47

1

SQLiteSQL Server Compact Edition,或者SQL Server Express如果你需要多一点魅力。

它们都是可重新分配的 - 您的最终用户不必安装任何东西。

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

+0

SQL Server Compact Edition的可分发二进制文件有多大?我知道快捷版不是微不足道的 - 你将不得不建立一个安装脚本来安装和配置它(如果用户不这样做的话)。 – FrustratedWithFormsDesigner 2009-12-25 04:20:10

+0

我编辑了我的问题,请看看。 – Shimmy 2009-12-25 04:35:21

+0

CE是一对夫妇的MB,最初设计用于像pocketpc这样的嵌入式应用程序。有关xml加密的建议,EE可以静默安装,并带msi – jspcal 2009-12-25 04:40:17