2017-03-10 60 views
0

我使用SQLite的選擇,因爲數據庫我的離線C#桌面應用程序(WPF /的WinForms),但目前走投無路的MySQL數據庫方便地分發由於稅務局認證。可以將MySQL作爲嵌入式數據庫與脫機應用程序一起安裝嗎?

我主要擔心的是,我想知道如果我可以用MySQL數據庫離線桌面應用程序,並通過URL分發.exe,方便無人值守安裝。

可能嗎?

+0

你爲什麼會選擇在SQLite的SQL Server精簡? –

+0

https://www.mysql.com/oem/ –

+0

顯然SQL Server精簡版是由微軟棄用:https://connect.microsoft.com/SQLServer/feedback/details/776328/port-sql-compact-to- windows-rt, – Polyfun

回答

1

如SQLite的頁面Appropriate Uses For SQLite所示,像MySQL這樣的客戶端/服務器數據庫可以更好地適用於客戶端/服務器應用程序,大容量網站,非常大的數據集或高併發性。這不適用於你的離線應用程序,所以你應該使用一個被設計爲嵌入的數據庫(不一定是SQLite)。

MySQL有一個embedded server library,其可以直接連接到應用程序。使用C#時,MySQL庫鏈接到.NET MySQL數據庫驅動程序,因此使用嵌入式服務器需要重新編譯此驅動程序。而這樣的鏈接將觸發MySQL的GPL許可證。並且:

libmysqld嵌入式服務器庫從MySQL 5.7.17開始已棄用,並將在MySQL 8.0中刪除。

這將有可能給自己安裝獨立的MySQL服務器;這在Installing MySQL on Microsoft Windows Using a noinstall Zip Archive中描述。 但是,這仍然會將MySQL服務器作爲單獨的進程或服務運行,這可能與計算機上的其他安裝衝突;您的安裝人員有責任正確配置該MySQL實例,以適應目標機器上遇到的任何環境。

+0

非常感謝你的回答。棄用'libmysqld'會影響我未來應用程序的開發嗎?最近的版本不是可以使用MySQL 5.7.17嗎? – Nis

+0

問甲骨文他們的意思是... –

+0

你能提供那個鏈接嗎 – Nis

相關問題