2010-10-31 34 views
3

我在練寫它使用MySQL來處理數據的應用程序。 我的顧慮是,如果我的客戶端機器沒有預先安裝MySQL,它不能運行我的應用程序,是嗎?因此無論如何都要將數據庫服務器嵌入到應用程序中,或者在沒有數據服務器的情況下運行應用程序。我想知道那裏的所有軟件如何處理數據。這不像我們在安裝應用程序之前需要安裝某種數據庫服務器。如何數據庫集成到軟件

回答

5

MySQL是以一個客戶機/服務器的數據庫引擎,這意味着你必須分別從每個安裝客戶端和服務器,它們在某種網絡協議進行通信。

如果你想部署一個獨立的應用程序,你可能最好使用像SQLite這樣的庫,它可以爲你提供儘可能多的SQL數據庫的功能,這在你的應用程序中很可能需要,但而是在本地文件上運行,不需要安裝單獨的服務器。

+0

通常,客戶端需要的是使用編程語言提供的一些數據訪問協議(ODBC,JDBC,ADO .NET等)API。 – 2010-10-31 07:58:12

+0

謝謝。 SQLite正是我正在尋找的。 – NC7 2010-10-31 08:41:31

+0

@凱爾,如果你想提供一個完全不同的解決方案,那麼你應該提供它作爲答案,而不是作爲對另一個答案的評論。 – 2010-10-31 12:40:55

0

您的應用程序可以與遠程數據庫的工作,在配置數據庫連接時,你應該設置你的數據庫服務器的IP地址(主機),端口和登錄憑據。所以爲了編寫處理數據操作的應用程序,您需要立即連接到任何數據庫。

-1

我建議在規定的數據庫上執行的所有操作,你的應用程序女巫簡單的界面來包裝DB層。通過這種方式,您不必進入數據庫原子操作的細節,並通過統一的接口,可以創建幾個不同的類,這些類將負責以相同的方式(相同的接口)訪問不同的數據庫。這些類應該實現接口並實現所有必要的方法(例如ADO)。現在你的數據庫層可以在所有程序中以相同的方式顯示。包裝類可以實現單身設計模式,並可以在您的應用程序中作爲一個實例使用。通用類設計(界面)爲您提供了許多好處,例如,如果需要,可以在另一個層上進行替換(切換到完全不同的數據庫)。

+1

這麼多計算機科學的詞語,很少有用的答案。 – ceejayoz 2010-10-31 13:47:07

+0

這麼多無用的評論,沒有有用的答案 – UGEEN 2010-10-31 16:27:50

0

如果是在客戶機 - 服務器應用程序中工作時,MySQL數據庫可以由MySQL來訪問或者(該溶液可以是適合於內部網絡),或者通過一些數據庫端服務,其可以提供一些API和其可以通過一些應用程序級協議(例如XML-RPC)從客戶端訪問。

如果您正在開發客戶端應用程序,還有其他數據庫解決方案,可以在獨立軟件中使用:SQLite,Derby。作爲數據庫方法的替代方法,您可以考慮以XML/YAML格式存儲數據。