sql >> データベース >  >> RDS >> Mysql

C#を使用したMySQL接続のSSHトンネリング

    MySQLを転送のバインドされたポートに接続する必要があります。つまり2222へ。

    または、さらに意味的に正しい場合は、portFwld.BoundPortを使用します 。同様に、portFwld.BoundHostを使用します 。

    DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
    

    また、ホスト名はサーバー側で解決されるため、MySQLホストを「example.com」ではなく「localhost」と呼ぶ方が理にかなっていることにも注意してください。また、サーバー側では、通常、「example.com」ではなく「localhost」に接続します。

    var portFwld = new ForwardedPortLocal(IPAddress.Loopback.ToString(), 2222, "localhost", 3306); 
    

    そしてもちろん、トンネルが必要な間はSSHセッションを開いたままにしておく必要があります。したがって、using内でDBに接続する必要があります ブロック:

    using (var client = new SshClient(connectionInfo))
    {
        ...
        client.Connect();
        ...
        portFwld.Start();
        ... 
        DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
    }
    



    1. java.library.pathにocijdbc9がありません

    2. Laraveleloquentのsql_mode=only_full_group_byとの互換性を解決するにはどうすればよいですか?

    3. MySqlとの接続は自動的に中止されます。 Connector / Jを正しく構成するにはどうすればよいですか?

    4. php PDOは2つの結果セットをフェッチできますか?そして、もしそうなら、1つの結果セットまたは1より多いものは何が良いですか?