目標は、Web ページ ( .NET/C#) と SSH 接続経由のリモート MySQL データベース。
指定されたコードは、正しい認証情報とポート構成を使用して SSH 経由で MySQL Workbench に正常に接続します。ただし、リモート サーバーからのデータの取得は失敗します。
次のコードは問題に対処し、リモート MySQL データベースに接続してデータを取得できるようにします。
<code class="csharp">using(var client = new SshClient("ssh server id", "sshuser", "sshpassword")) { 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>
以上がSSH.NET ライブラリを使用して .NET からリモート MySQL データベースに接続し、データを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。