System.net.Sockets exception

本文关键字:exception Sockets net System | 更新日期: 2023-09-27 17:59:40

所以我试图使用C#连接到Ubuntu虚拟机上的MySQL数据库。然而,我一直收到一个System.Net.Sockets.SocketException异常,每次连接都会失败。我可以使用虚拟机上的IP地址(在浏览器上)访问服务器,所以我真的不知道出了什么问题。

非常感谢您的帮助。

System.net.Sockets exception

您是否尝试从尝试连接的mysql服务器telnet,telnet localhost 3306 localhost是您的mysql服务器,3306是默认端口。如果成功,则意味着mysql运行正常。此外,您还可以验证凭据是否正确传递。以下是用于从liferay门户服务器连接到mysql的JNDI配置示例

<Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10000"
     username="root" password="" driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/liferay?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false"/>

希望这能有所帮助。

如果您的服务器正常,您可以尝试MySQL的ADO.Net驱动程序(http://www.mysql.com/downloads/connector/net/)

安装驱动程序后,请在项目中添加对MySql.Data.dll的引用。

在您的代码中,您可以使用连接到服务器

public static MySqlConnection mysqlCreateConection() {            
        try {
            c = new MySqlConnection("server=" + "localhost" + ";user id=" + "user" +
                                    ";Password=" + "password" + ";persist security info=True;database=" + mysqlDatabase +  "" + ";");
            c.Open();
            Console.WriteLine(c.ToString());
            return c;
        } catch (MySqlException e) {}

有了这个连接器,您可以使用已经制作好的类和方法,在处理c#+mysql时让您的生活更轻松。