Rumah  >  Artikel  >  pangkalan data  >  Berikut ialah beberapa tajuk soalan dan jawapan bahasa Inggeris yang sepadan dengan kandungan artikel: * Mengapa Saya Tidak Dapat Mendapatkan Data daripada Pangkalan Data MySQL Melalui SSH.NET? * Menyelesaikan Masalah Sambungan MySQL dengan SSH.NET: Kajian Kes * Cara Menyambung dengan Betul ke Rem

Berikut ialah beberapa tajuk soalan dan jawapan bahasa Inggeris yang sepadan dengan kandungan artikel: * Mengapa Saya Tidak Dapat Mendapatkan Data daripada Pangkalan Data MySQL Melalui SSH.NET? * Menyelesaikan Masalah Sambungan MySQL dengan SSH.NET: Kajian Kes * Cara Menyambung dengan Betul ke Rem

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 08:59:02347semak imbas

以下是几个符合文章内容的英文问答类标题:

* Why Am I Unable to Retrieve Data from a MySQL Database Through SSH.NET?
* Troubleshooting MySQL Connection Issues with SSH.NET: A Case Study
* How to Correctly Connect to a Remote MySQL Database via SSH.NET in C#
* Why Does My C# C

Sambungan ke MySQL dari .NET menggunakan Perpustakaan SSH.NET

Isu:

An Halaman web ASP.NET/C# cuba menanyakan pangkalan data MySQL pada pelayan jauh melalui sambungan SSH menggunakan perpustakaan Renci.SshNet dan mysql-connector-net. Walau bagaimanapun, kod itu tidak mendapatkan sebarang data daripada pangkalan data.

Coretan Kod:

Kod C# yang disediakan cuba untuk mewujudkan sambungan SSH, memajukan port dan kemudian sambung ke pangkalan data MySQL. Walau bagaimanapun, ia gagal mendapatkan sebarang data daripada pangkalan data.

<code class="csharp">using(var client = new SshClient("ssh server id", "sshuser", "sshpassword")) // establishing ssh connection to server where MySql is hosted
{
    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>

Penyelesaian:

Untuk menyelesaikan isu ini, pengubahsuaian berikut boleh dibuat pada kod:

  1. Rentetan sambungan yang digunakan untuk menyambung ke pangkalan data MySQL mempunyai sintaks yang salah. Tukar rentetan sambungan kepada yang berikut:
MySqlConnectionStringBuilder connBuilder = new MySqlConnectionStringBuilder();
connBuilder.AllowBatch = true;
connBuilder.Server = "portal.RemoteServer.edu";
connBuilder.Port = 3306;
connBuilder.UserID = "RemoteServerUsername";
connBuilder.Password = "RemoteServerPassword";
connBuilder.Database = "DatabaseName";
  1. Sambungan SSH tidak diwujudkan dengan betul. Pastikan parameter sambungan SSH adalah betul dan pelanggan berjaya menyambung ke pelayan jauh.

Kod Diubah Suai:

<code class="csharp">using(var client = new SshClient("portal.RemoteServer.edu", "RemoteServerUsername", "RemoteServerPassword")) // establishing ssh connection to server where MySql is hosted
{
    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(connBuilder.ConnectionString))
        {
            using (MySqlCommand com = new MySqlCommand("SELECT * FROM Clients", 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 Berikut ialah beberapa tajuk soalan dan jawapan bahasa Inggeris yang sepadan dengan kandungan artikel: * Mengapa Saya Tidak Dapat Mendapatkan Data daripada Pangkalan Data MySQL Melalui SSH.NET? * Menyelesaikan Masalah Sambungan MySQL dengan SSH.NET: Kajian Kes * Cara Menyambung dengan Betul ke Rem. 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