通过 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中文网其他相关文章!