我想创建一个简单的应用程序,该应用程序将从远程数据库中获取数据并将其显示在屏幕上,因此首先我制作了一个简单的控制台应用程序来测试连接,并且一切正常。这是代码:
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,如果有什么不同。抱歉,我的第一篇文章是英文,格式不正确。
答案 0 :(得分:0)
可能是网络问题。但是请不要这样做。为了直接连接到数据库,您需要在应用程序中以纯文本格式将密码输入数据库(即使您对其进行加密,密钥也位于应用程序中)。这是完全不安全的,任何脚本小子都可以拥有您的数据库。如果您需要数据库中的数据,请编写一个Web服务并让该Web服务访问数据库,因此您无需使身份验证信息离开您自己的服务器。
答案 1 :(得分:0)
由于需要帮助,我按照弗拉迪斯拉夫的建议在清单中添加了INTERNET权限,从而解决了该问题。