我想連接到遠程mysql服務器使用SSH隧道設置使用OpenSSH密鑰文件和SSH.Net庫中所示下面的代碼段...無法連接到C#中的任何指定的MySQL主機使用SSH.Net隧道
try
{
PrivateKeyFile pkfile = new PrivateKeyFile("C:\\Users\\OpenSSHKey", "mypassword");
var client = new SshClient("servername.com", 22, "myusername", pkfile);
client.Connect();
if (client.IsConnected)
{
var local = new ForwardedPortLocal(22, "localhost", 3306);
client.AddForwardedPort(local);
try
{
local.Start();
}
catch (SocketException se)
{
}
string connStr = "server=localhost;user=mysql_username;database=database_name;port=3306;password=MyDBPassword;";
MySqlConnection sql = new MySqlConnection(connStr);
sql.Ping();
try
{
sql.Open();
}
catch (MySqlException se)
{
}
}
}
catch(Exception e)
{
}
隧道是絕對成立,因爲它引發以下錯誤「無法連接到任何指定的MySQL主機的」關於sql.Open()調用...
我確定數據庫位於名爲mysername的服務器上,因爲我可以使用putty或workbench連接到MYSQL連接字符串中使用的憑據...我希望有人可以幫助
此時'var e = se.Data'這行是無用的。 –
是的...我試圖冒出驗證錯誤 –