Xamarin,MySQL例外:无法连接到任何特定主机

时间:2018-11-05 01:02:52

标签: c# android mysql xamarin exception

我想创建一个简单的应用程序,该应用程序将从远程数据库中获取数据并将其显示在屏幕上,因此首先我制作了一个简单的控制台应用程序来测试连接,并且一切正常。这是代码:

val = "James"

但是当我尝试在手机上测试连接时,它表明它无法连接到主机,这是代码:

static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("SERVER=85.10.205.173; PORT=3306; DATABASE=mybasework; UID=neawin; PWD=12345678; old guids=true; Connection Timeout=30;");
        try
        {
            if(con.State == ConnectionState.Closed)
            {
                con.Open();
                MySqlCommand command = new MySqlCommand("SELECT * FROM motto", con);
                using (MySqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {                           
                        Console.WriteLine(reader["motto"]);
                    }
                }
            }
        }
        catch(MySqlException ex)
        {
            Console.WriteLine(ex.ToString());
        }
        finally
        {
            con.Close();
        }
    }

我认为我尝试了连接字符串的所有变体,在第一个程序中,我使用mysql.data库,在电话应用程序中,我使用了Xamarin.Mysql Nuget Package,如果有什么不同。抱歉,我的第一篇文章是英文,格式不正确。

2 个答案:

答案 0 :(得分:0)

可能是网络问题。但是请不要这样做。为了直接连接到数据库,您需要在应用程序中以纯文本格式将密码输入数据库(即使您对其进行加密,密钥也位于应用程序中)。这是完全不安全的,任何脚本小子都可以拥有您的数据库。如果您需要数据库中的数据,请编写一个Web服务并让该Web服务访问数据库,因此您无需使身份验证信息离开您自己的服务器。

答案 1 :(得分:0)

由于需要帮助,我按照弗拉迪斯拉夫的建议在清单中添加了INTERNET权限,从而解决了该问题。