Rumah > pangkalan data > tutorial mysql > 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
Lepaskan: 2024-11-02 08:59:02
asal
528 orang telah melayarinya

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

* 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>
Salin selepas log masuk

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";
Salin selepas log masuk
  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>
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan