Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyambung ke Pangkalan Data MySQL Jauh dari .NET Menggunakan Perpustakaan SSH.NET dan Dapatkan Data?

Bagaimana untuk Menyambung ke Pangkalan Data MySQL Jauh dari .NET Menggunakan Perpustakaan SSH.NET dan Dapatkan Data?

Barbara Streisand
Barbara Streisandasal
2024-10-29 18:49:08825semak imbas

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

Menyambung ke MySQL dari .NET Menggunakan Perpustakaan SSH.NET

Memahami Objektif

Matlamatnya adalah untuk mewujudkan sambungan antara halaman web ( .NET/C#) dan pangkalan data MySQL jauh melalui sambungan SSH.

Analisis Kod dan Penyelesaian Masalah

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.

Pendekatan Disemak

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>

Penjelasan

  • Kod ini mewujudkan sambungan SSH ke pelayan jauh.
  • Ia kemudian memajukan port (untuk contoh ini, port 3306) ke mesin tempatan, membolehkan komunikasi dengan pangkalan data MySQL.
  • Objek MySqlConnection dibuat menggunakan port yang dimajukan dan bukti kelayakan pangkalan data yang sesuai.
  • Objek MySqlCommand dilaksanakan untuk mendapatkan data daripada jadual yang ditentukan.
  • Data yang diambil kemudiannya dipaparkan dalam konsol.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn