2011-07-01 82 views
3

假設我在java中創建了一個獨立的應用程序並通過我的網站分發它。獨立應用程序的理想數據源?

我需要知道的是我可以使用的理想數據庫解決方案是什麼,以便所有用戶都可以使用該應用程序而無需安裝任何額外的東西。

例如,如果我使用SQL服務器或MySql數據庫,下載器將需要安裝這些以便我可以在其上轉儲數據庫。我看到的另一個解決方案是使用數據庫文件,如Microsoft Access .mdb文件。但是,這也需要在客戶端上安裝Microsoft Office。 XML文件是獨立於平臺的,但任何人都可以打開並更改它們。

大多數應用程序使用的解決方案是什麼?

+1

檢出[sqlite](http://www.sqlite.org/) – clamp

回答

2

H2是一個非常有效的候選人,可以滿足您的需求。我們將它用作所有演示應用程序中的默認RDBMS,也用於數據庫驅動的單元測試。

+0

H2看起來非常有趣。它還提供ODBC驅動程序。那很好。謝謝。 – mihsathe

+0

它也有一個非常合理的標準SQL支持,這使得如果需要在不同的RDBMS之間進行切換很方便。 – 01es

1

檢查javadb。這很容易,可以重新分配

2

您可以使用嵌入式數據庫。有數百個用於Java的有些使用SQL,有些則沒有。你使用的任何數據庫,你可能希望用戶能夠維護,所以用戶編輯數據可能是一件好事。

您可以將Derby視爲隨Java附帶。

我會使用CSV格式的普通平面文件,除非您有更具體的要求。例如您可以在Excel /電子表格編輯器/文本編輯器中加載和編輯它們。

2

H2HSQLDB(同一開發人員)的繼任者。它不僅是JAVA最好的嵌入式數據庫之一,它也是免費的,即使是商業用途也是如此。它非常適用於hibernate,並附帶了強大的Web界面(可以通過運行h2 jar文件啓動它)。另外還可以對數據庫(AES)進行加密。我們使用該功能爲我們的一些項目獲得一些安全方面的權利。

+0

是的,有趣的是,它也支持大對象。真的很酷。 – mihsathe

0

在Windows上使用MDB文件不需要任何額外的安裝要求,如Microsoft Office。自Windows 2000以來,DAO和ADO自帶Windows操作系統。

+0

但它確實會限制您的應用程序被Windows用戶使用。 –

+0

OP確實聲明瞭SQL Server。 –

+0

原來的問題提到了SQL Server或MySQL,所以多個平臺至少可以用於MySQL。 –