Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe der SSH.NET-Bibliothek eine Verbindung zu einer Remote-MySQL-Datenbank von .NET herstellen und Daten abrufen?

Wie kann ich mithilfe der SSH.NET-Bibliothek eine Verbindung zu einer Remote-MySQL-Datenbank von .NET herstellen und Daten abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 18:49:08909Durchsuche

How to Connect to a Remote MySQL Database from .NET Using SSH.NET Library and Retrieve Data?

Herstellen einer Verbindung zu MySQL von .NET mithilfe der SSH.NET-Bibliothek

Das Ziel verstehen

Das Ziel besteht darin, eine Verbindung zwischen einer Webseite ( .NET/C#) und eine Remote-MySQL-Datenbank über eine SSH-Verbindung.

Codeanalyse und Fehlerbehebung

Ihr bereitgestellter Code stellt über SSH unter Verwendung der richtigen Anmeldeinformationen und Portkonfiguration erfolgreich eine Verbindung zu MySQL Workbench her. Es gelingt jedoch nicht, Daten vom Remote-Server abzurufen.

Überarbeiteter Ansatz

Der folgende Code behebt das Problem und ermöglicht Ihnen, eine Verbindung zur Remote-MySQL-Datenbank herzustellen und Daten abzurufen:

<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>

Erklärung

  • Dieser Code stellt eine SSH-Verbindung zum Remote-Server her.
  • Anschließend leitet er einen Port (in diesem Beispiel Port 3306) an den lokalen Computer weiter. Ermöglicht die Kommunikation mit der MySQL-Datenbank.
  • Ein MySqlConnection-Objekt wird unter Verwendung des weitergeleiteten Ports und der entsprechenden Datenbankanmeldeinformationen erstellt.
  • Ein MySqlCommand-Objekt wird ausgeführt, um Daten aus der angegebenen Tabelle abzurufen.
  • Die abgerufenen Daten werden dann in der Konsole angezeigt.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der SSH.NET-Bibliothek eine Verbindung zu einer Remote-MySQL-Datenbank von .NET herstellen und Daten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn