如何将我的Unity3D应用程序连接到Mac OSX上的MySQL数据库

时间:2017-03-15 16:36:16

标签: mysql database unity3d database-connection monodevelop

我一直在阅读大量关于让我的Unity应用程序能够从MySQL数据库中检索数据的最佳方法。大家一致认为,出于安全考虑,应该在PHP中设置数据库连接,然后Unity代码应该与PHP交互。

所以而不是:

Unity - > MySQL的

我们有:

Unity - > PHP - >的MySQL。

这很棒,但是我并不担心我的应用程序的安全性。我在大学的最后一年从事一个项目;它可以被视为内部软件,因此应用程序的用户也将拥有该数据库。因此,我不担心安全问题。

所以我想要的就是获得这个Unity - > MySQL连接正常工作。我觉得我很近,但是遇到了一些错误而且不知道从哪里开始。

我的数据库连接代码

public class TweetDAO {

    private string connString;

    public TweetDAO()
    {
        connString = "Server=localhost; Port=3306; Database=tweets; Uid=root; Pwd=root;";
    }

    public string ReadString(string query)
    {
        MySqlConnection conn = new MySqlConnection (connString);
        string result = "";

        try {

            MySqlCommand command = conn.CreateCommand ();
            MySqlDataReader reader;
            command.CommandText = query;
            conn.Open();
            reader = command.ExecuteReader ();
            while (reader.Read())
            {
                result = reader.GetValue(0).ToString();
            }

        } 
        catch (MySqlException ex) {
            Debug.Log(ex.Message);
        }
        finally {
            conn.Dispose ();
            conn = null;
        }
        return result;
    }

}

当我运行此操作时,我得到SocketException: Connection refused,异常消息为Unable to connect to any of the specified MySQL hosts.

我认为这对我的连接字符串来说一定是错的,但是我已经尝试了很多不同的组合,似乎没什么用。

如果有任何帮助,我将非常感激。

谢谢! :)

1 个答案:

答案 0 :(得分:2)

正如我们在评论中总结的那样,问题是连接字符串中定义的端口与服务器客户端中的端口设置不同。 (XAMPP,WAMP等)

我认为快速测试此类问题的最简单方法是通过浏览器手动检查。虽然它不会解决任何问题,但根据浏览器中显示的内容,您应该能够找出出错的地方或位置。