Connexion à MySQL depuis .NET via SSH.NET
Problème :
Les utilisateurs rencontrent Problèmes lors de la tentative de récupération de données d'une base de données MySQL située sur un serveur distant via SSH à l'aide d'une combinaison des bibliothèques MySQL Connector/NET et SSH.NET. Bien qu'il ait établi une connexion SSH, le code ne parvient pas à produire des résultats à partir des requêtes de base de données.
Solution :
Pour résoudre ce problème, il est crucial de configurer le port transféré correctement. Le code ci-dessous propose une approche affinée :
<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>
Dans ce code mis à jour :
Ce code révisé se connecte efficacement à la base de données, récupère les données et les affiche, fournissant un mécanisme fiable pour accéder à une base de données MySQL distante via SSH dans les applications .NET.
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!