透過SSH.NET 從.NET 連接到MySQL
問題:
用戶遇到到的問題當嘗試使用MySQL Connector/NET 和SSH.NET 程式庫的組合透過SSH 從位於遠端伺服器上的MySQL 資料庫檢索資料時,會出現問題。儘管已建立 SSH 連接,但程式碼無法產生資料庫查詢結果。
解決方案:
要解決此問題,設定轉送埠至關重要正確。下面的程式碼提供了一種改進的方法:
<code class="csharp">using(var client = new SshClient("ssh server id", "sshuser", "sshpassword")) // establish SSH connection to server hosting MySQL { client.Connect(); if (client.IsConnected) { var portForwarded = new ForwardedPortLocal("127.0.0.1", 3306, "127.0.0.1", 3306); client.AddForwardedPort(portForwarded); portForwarded.Start(); using (MySqlConnection con = new MySqlConnection("SERVER=127.0.0.1;PORT=3306;UID=someuser;PASSWORD=somepass;DATABASE=Dbname")) { using (MySqlCommand com = new MySqlCommand("SELECT * FROM cities", con)) { com.CommandType = CommandType.CommandText; DataSet ds = new DataSet(); MySqlDataAdapter da = new MySqlDataAdapter(com); da.Fill(ds); foreach (DataRow drow in ds.Tables[0].Rows) { Console.WriteLine("From MySql: " + drow[1].ToString()); } } } client.Disconnect(); } else { Console.WriteLine("Client cannot be reached..."); } }</code>
在此更新的程式碼中:
修改後的程式碼有效地連接到資料庫、檢索資料並顯示它,為透過以下方式存取遠端 MySQL 資料庫提供了可靠的機制: .NET 應用程式中的 SSH。
以上是如何在.NET中透過SSH.NET連接到遠端MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!