Menyambung ke MySQL dari .NET melalui SSH.NET
Masalah:
Pengguna hadapi Schwierigkeiten apabila cuba mendapatkan semula data daripada pangkalan data MySQL yang terletak pada pelayan jauh melalui SSH menggunakan gabungan perpustakaan MySQL Connector/NET dan SSH.NET. Walaupun telah mewujudkan sambungan SSH, kod tersebut gagal menghasilkan hasil daripada pertanyaan pangkalan data.
Penyelesaian:
Untuk menangani isu ini, adalah penting untuk mengkonfigurasi port yang dimajukan dengan betul. Kod di bawah menawarkan pendekatan yang diperhalusi:
<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>
Dalam kod yang dikemas kini ini:
Kod yang disemak ini secara berkesan menyambung ke pangkalan data, mendapatkan semula data dan memaparkannya, menyediakan mekanisme yang boleh dipercayai untuk mengakses pangkalan data MySQL jauh melalui SSH dalam aplikasi .NET.
Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Pangkalan Data MySQL Jauh melalui SSH.NET dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!