我正在用VS代码中的ASP.NET Razor页面和SignalR以及MySQL数据库制作一个web聊天应用程序。()
我想将消息和用户存储在一个表中,但是当我建立MySQL连接时,我得到了一条错误消息:
MySql.Data.MySqlClient.MySqlException (0x80004005): Host '' is not allowed to connect to this MySQL server它会导致我以前在appsettings.json文件中连接到数据库的ConnectionString吗?
下面是ChatHub.cs代码:
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
using System;
using MySql.Data;
using MySql.Data.MySqlClient;
using probagetrequest.Models;
namespace SignalRChat.Hubs
{
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
string connn = "Server=localhost;Database=DBChatApp;user id=sa;password=xxx";
MySqlConnection con = new MySqlConnection(connn);
try {
Console.WriteLine("Connecting to MySql...");
con.Open();
string cmddd = "INSERT INTO Messages (Username,Message) VALUES (@Usernamee,@Messagee)";
MySqlCommand cmd = new MySqlCommand(cmddd, con);
cmd.Parameters.Add("@Usernamee", MySqlDbType.VarString).Value = user;
cmd.Parameters.Add("@Messagee", MySqlDbType.VarString).Value = message;
}
catch (Exception exc)
{
Console.WriteLine(exc.ToString());
}
con.Close();
Console.WriteLine("Done!!!!!");
Console.WriteLine($"user={user}, message={message}");
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
}
发布于 2020-04-23 11:49:29
您是否尝试通过登录MySQL DB。我认为这是项目中提到的连接到MySQL DB的"mysql用户“权限的问题。
通常,您提到的错误发生在设置新数据库但未配置的情况下。
尝试以超级用户身份登录到MySQL中的以下命令
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;https://stackoverflow.com/questions/61386074
复制相似问题