0

所以我正在尝试使用 C# 连接到位于 Ubuntu VM 上的 MySQL 数据库。但是,我不断收到System.Net.Sockets.SocketException异常,并且每次连接都失败。我可以使用它的IP地址(在浏览器上)访问VM上的服务器,所以我真的不明白出了什么问题。

任何帮助深表感谢。

4

2 回答 2

0

您是否尝试过 telnet 到您尝试连接的 mysql 服务器,telnet localhost 3306localhost 是您的 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"/>

希望这可以帮助。

于 2013-02-15T20:05:24.260 回答
0

如果您的服务器没问题,您可以尝试 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 时更轻松。

于 2013-02-15T22:14:07.910 回答