SSH.NET 経由で .NET から MySQL に接続
問題:
ユーザーが遭遇する問題これは、MySQL Connector/NET と SSH.NET ライブラリの組み合わせを使用して、SSH 経由でリモート サーバー上にある MySQL データベースからデータを取得しようとする場合に発生します。 SSH 接続を確立しているにもかかわらず、コードはデータベース クエリの結果を生成できません。
解決策:
この問題に対処するには、転送ポートを構成することが重要です。正しく。以下のコードは、洗練されたアプローチを提供します。
<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>
この更新されたコードでは:
この改訂されたコードは、データベースに効果的に接続し、データを取得して表示し、リモート MySQL データベースにアクセスするための信頼できるメカニズムを提供します。 .NET アプリケーションでの SSH。
以上が.NET で SSH.NET 経由でリモート MySQL データベースに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。