2009-04-19 138 views
6

我有一個桌面應用程序,它會將soap與服務器進行通信。通信速度非常慢,所以我想先從我的本地數據庫下載大量的數據並進行查詢。我希望這個本地數據在應用程序關閉後繼續存在,所以這樣做的最佳方式是什麼。 。 。有沒有什麼好的產品/例子可以做到這一點。 。有大約25張桌子,我正在緩存。快速本地數據庫

回答

14

SQLite是完美的。幾年前,我編寫了一個「智能客戶端」應用程序,我維護了一個本地緩存,以便用戶仍可以離線使用該應用程序。我使用SQLite,沒有問題,它非常小,很快就會保持,大多數現代ORM都支持它。 (我使用NHibernate)

http://www.sqlite.org/

+0

SubSonic也支持它。 – flipdoubt 2009-04-19 13:05:50

2

H2數據庫也可能會滿足您的需求。 Microsoft提供了一個精簡版的SQL Server:SQL Server Mobile Edition。如果SQL Server和TSQL是你的事情,這可能是一個不錯的選擇。

+0

我已通過IKVM在.Net中成功使用H2。 H2文檔在「高級」部分有關於此的簡要部分。 – 2009-04-19 13:03:29

0

考慮使用Firebird,我相信他們也有一個ADO.NET擴展。

1

您可以隨時使用Access數據庫,通常非常簡單,可以在.NET應用程序中進行創建,並且不需要在客戶端上安裝或配置任何服務器。

0

我會考慮SQL Server Express甚至SQL Server Compact Edition,它可以像Access一樣對單個數據庫文件進行操作。儘管如此,它仍然是SQL Server。

+0

因爲安裝和部署仍然是一場噩夢,所以我會遠離SQL Server Express。儘管如此,SQL Server Compact Edition也是一個不錯的選擇。 – 2009-04-19 14:41:11

3

Berkeley DB是一個很好的獨立的數據庫。您還應該考慮內置於Windows中的ESENT。這是Ayende的write-up

0

您也可以考慮在Sun的Glassfish Java EE服務器中使用Apache Derby