Herstellen einer Verbindung zu MySQL von .NET über SSH.NET
Problem:
Benutzerstoß Schwierigkeiten beim Versuch, Daten aus einer MySQL-Datenbank auf einem Remote-Server über SSH abzurufen, indem eine Kombination aus den Bibliotheken MySQL Connector/NET und SSH.NET verwendet wird. Obwohl eine SSH-Verbindung hergestellt wurde, liefert der Code keine Ergebnisse aus Datenbankabfragen.
Lösung:
Um dieses Problem zu beheben, ist es wichtig, den weitergeleiteten Port zu konfigurieren korrekt. Der folgende Code bietet einen verfeinerten Ansatz:
<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>
In diesem aktualisierten Code:
Dieser überarbeitete Code stellt effektiv eine Verbindung zur Datenbank her, ruft Daten ab und zeigt sie an und bietet so einen zuverlässigen Mechanismus für den Zugriff auf eine entfernte MySQL-Datenbank SSH in .NET-Anwendungen.
Das obige ist der detaillierte Inhalt vonWie stellt man in .NET über SSH.NET eine Verbindung zu einer Remote-MySQL-Datenbank her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!