所以我正在尝试使用 C# 连接到位于 Ubuntu VM 上的 MySQL 数据库。但是,我不断收到System.Net.Sockets.SocketException
异常,并且每次连接都失败。我可以使用它的IP地址(在浏览器上)访问VM上的服务器,所以我真的不明白出了什么问题。
任何帮助深表感谢。
所以我正在尝试使用 C# 连接到位于 Ubuntu VM 上的 MySQL 数据库。但是,我不断收到System.Net.Sockets.SocketException
异常,并且每次连接都失败。我可以使用它的IP地址(在浏览器上)访问VM上的服务器,所以我真的不明白出了什么问题。
任何帮助深表感谢。
您是否尝试过 telnet 到您尝试连接的 mysql 服务器,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&characterEncoding=UTF-8&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 时更轻松。