我一直在尝试将C#WPF应用程序与MySQL数据库连接起来。数据库位于我的网络中的Linux计算机上。我有很多与PHP连接的经验,但从未使用过.NET产品。我已经阅读了我在网上找到的所有内容。我已经下载并安装了MySQL连接的东西并将其附加到项目中。我已经进入数据库,并确保它将接受来自我的工作PC使用phpMyAdmin的查询。我尝试了各种各样的代码来调用数据库。我已经改变了connStr中所有内容的顺序。我已经更改了标签和格式以尝试我遇到的所有内容。我可以使用与此应用程序相关的所有基于Web的工具连接到数据库,因此我知道我有正确的信息。我从未在这里发帖,所以我对格式化感到抱歉。我读过的所有内容都让这听起来很简单。我现在正在使用这个:
string connStr = "user=admin;database=test;server=192.168.0.37;password=******;"; MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Trying to connect to: ..." + connStr); Console.WriteLine("Connecting to MySQL...");
conn.Open();
// Perform database operations
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
Console.WriteLine("Done.");
我收到此错误:
Test.vshost.exe Error: 0 : Unable to connect to any of the specified MySQL hosts.
A first chance exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
at MySql.Data.MySqlClient.NativeDriver.Open()...
感谢您对此的帮助!
答案 0 :(得分:3)
当您尝试使用基本调制解调器/路由器联系家庭网络中的服务器时,它可能无法识别或传递您发送的端口号。在这种情况下,它无法识别或发送3306(默认为mysql)。如果没有SSH隧道,这将使它永远不会工作。添加SSH隧道后,它就像宣传的那样工作。