Matlamatnya adalah untuk mewujudkan sambungan antara halaman web ( .NET/C#) dan pangkalan data MySQL jauh melalui sambungan SSH.
Kod yang anda berikan berjaya menyambung ke MySQL Workbench melalui SSH menggunakan bukti kelayakan dan konfigurasi port yang betul. Walau bagaimanapun, ia gagal untuk mendapatkan data daripada pelayan jauh.
Kod berikut menangani isu ini dan membolehkan anda menyambung ke pangkalan data MySQL jauh dan mendapatkan data:
<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>
Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Pangkalan Data MySQL Jauh dari .NET Menggunakan Perpustakaan SSH.NET dan Dapatkan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!