2010-09-27 36 views
1

我有一個運行相當標準的Apache/php/MySQL的web服務器,並希望從用c#/ wpf編寫的桌面應用程序連接到這個MySQL數據庫。從c#桌面程序連接到Web MySQL?

首先,我該如何連接?我需要一些特殊的SQLConnection庫嗎?

二,這有多安全?因爲數據庫在網絡中而不是本地的,我需要考慮的任何特殊的安全措施?

回答

0

如果您允許從運行桌面(WPF)客戶端的IP地址連接(到MySQL),則可以連接到MySQL。只需創建用戶並允許他們直接連接到數據庫。這不是不安全的。但是,您的MySQL存儲庫可能會變得更難以維護(您將擁有大量用戶,從不同子網登錄等)。

我建議您在Apache/PHP/MySQL服務器中創建一個WEBSERVICE或RESTFUL API,並用C#連接到該服務。

1

沒有什麼特別的,我需要想一想 安全,因爲數據庫處於 網絡和不在本地?

嗯,我會說,這不應該直接公開數據庫到網上,下幾乎任何情況。主要是出於安全原因。

也許你應該寫一個web API(REST/RPC/whatever)到你的數據並通過HTTP訪問它呢?這樣你就不需要將實際的數據庫暴露給整個互聯網,並且你有機會與數據庫模式無關(你的桌面應用程序不需要關心數據庫的結構,而只關心接口您的Web服務提供)。

+0

其實我使用標準的虛擬服務器,並沒有說如果它是暴露在互聯網與否。我只是想使用本地程序連接到現有的數據庫,以便於維護。 – Sam 2010-09-27 12:05:58

+0

@薩姆,是嗎?我的意思是,它暴露了嗎?我敢打賭,它只是在環回監聽,因此只有同一主機上的Web堆棧才能連接到它。我不會想象,數據庫服務器可以在外部世界以默認配置訪問。 – shylent 2010-09-27 12:15:02

+0

我剛剛檢查:它是可訪問的。這是一個標準的虛擬主機協議(虛擬共享服務器),沒什麼特別。 – Sam 2010-09-27 12:29:56