Le but est d'établir une connexion entre une page Web ( .NET/C#) et une base de données MySQL distante via une connexion SSH.
Le code fourni se connecte avec succès à MySQL Workbench via SSH en utilisant les informations d'identification et la configuration de port correctes. Cependant, il ne parvient pas à récupérer les données du serveur distant.
Le code suivant résout le problème et vous permet de vous connecter à la base de données MySQL distante et de récupérer des données :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!