2009-12-25 162 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