1

我一直在尝试将 C# WPF 应用程序与 MySQL 数据库连接起来。该数据库位于我网络中的 Linux 机器上。我有很多使用 PHP 连接的经验,但从来没有使用过 .NET 产品。我已经阅读了我在网上找到的所有内容。我已经下载并安装了 MySQL 连接的东西并将其附加到项目中。我已经进入数据库并确保它会使用 phpMyAdmin 接受来自我的工作 PC 的查询。我尝试了多种代码来调用数据库。我已经更改了 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()...

感谢您对此的帮助!

4

1 回答 1

3

当您尝试使用基本调制解调器/路由器联系家庭网络中的服务器时,它可能无法识别或传递您发送的端口号。在这种情况下,它没有识别或发送 3306(mysql 的默认值)。这将使它在没有 SSH 隧道的情况下永远无法工作。添加 SSH 隧道后,它像宣传的那样工作。

于 2013-07-25T04:14:37.250 回答