我們有託管網絡服務的Web服務器。數據庫(MySQL)數據庫服務器。兩者都不在LAN.Can我們可以連接沒有局域網的網絡服務器的數據庫嗎?如何在.net中從網絡服務器連接數據庫?
如果可能的話,過程是什麼?
我們有託管網絡服務的Web服務器。數據庫(MySQL)數據庫服務器。兩者都不在LAN.Can我們可以連接沒有局域網的網絡服務器的數據庫嗎?如何在.net中從網絡服務器連接數據庫?
如果可能的話,過程是什麼?
Both are not in LAN
如果Web服務器和數據庫服務器不在同一個局域網內,那麼你必須跟你的IT部門,並要求他們,使他們之間的適當routing,並配置firewalls通過讓您的數據庫流量。如果這不是一個選項,但第三個LAN中有一臺服務器可以從兩臺服務器訪問,則可以在第三臺機器上安裝port forwarder。
您可以通過IP地址訪問該服務器:
MySqlConnection cnn = new MySqlConnection("server=192.168.100.15;database=databasename;uid=xxxx;pwd=xxxx");
有兩件事情來檢查。
[編輯] PHP代碼如下,沒有意識到你使用的是.NET。
首先,連接到數據庫時使用了哪個db主機字符串?如果您使用'localhost'
作爲數據庫主機,則它不起作用,因爲在Web服務器的同一臺計算機上沒有數據庫。您的主機設置需要包含正確的IP地址/端口:
define('myDbHost', '192.168.5.1:5000'); // something like that
// or, when creating the connection (I am presuming you're using PHP)
$mysqli = new mysqli("192.168.5.1:5000", "user", "password", "database");
第二個問題是確保該地址/端口組合到Web服務器可見。您必須能夠從您的Web服務器創建一個套接字到數據庫服務器上的該端口號。這更像是一個系統管理問題。
問題的哪個部分正好睏擾着你?連接字符串?防火牆和網絡?例如,你將如何連接到本地數據庫? – Groo
兩個系統不在局域網內,因此無法連接數據庫(「錯誤:無法連接任何本地主機)。如果同一局域網中的數據庫正在連接,則可以將數據庫系統從網絡服務器連接到局域網。有什麼步驟? – user1727822
非常不清楚的問題沒有上下文。 – Olaf