【发布时间】:2019-11-01 04:13:36
【问题描述】:
从 MySQL Workbench 和 Visual Studio Server Explorer 建立的连接工作正常。但是当我尝试通过 MySQL 连接在代码中使用它时 使用与服务器资源管理器相同的连接字符串,它给了我一个错误。
“试图以访问权限 {MyDatabaseIP}:3306 禁止的方式访问套接字”
我尝试了多个连接字符串,并尝试了来自 NuGet(许多版本)的 MySql 连接器并手动安装。还尝试禁用防火墙并通过网络寻找答案。
string myConnectionString;
myConnectionString = "server=MyDatabaseIP;user id=admin;pwd=mYPasSword;database=MyBase;persistsecurityinfo=True";
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString))
{
conn.Open();
MessageBox.Show("Success");
}
我在 conn.Open() 上收到错误消息;
在我的工作服务器资源管理器配置下方。
server=MyDatabaseIP;user id=admin;database=MyBaser;persistsecurityinfo=True
[编辑] 我已经能够以某种方式密切确定导致问题的原因。我尝试了不同的机器,但问题仍然存在于 windows 10 机器上,我的程序和测试脚本在所有 windows 7 和 8 机器上运行良好。我也尝试过从 python 脚本进行连接并且它可以工作!(即使在 Windows 10 上)但是当我从 py 文件创建一个 exe 时,它仍然无法连接到服务器。同样的问题。
【问题讨论】:
-
你确定吗?尽管有波浪线区域,但 id=(username); pwd=(password) 在曲线中并不长.. 实际上看起来可能缺少密码。根据底部的字符串。建议不同的用户 ID 和密码
-
我已经仔细检查了所有内容。我已经设法检查它,并且确实连接在具有相同文件的 Windows 7 机器上有效。但不是在 Windows 10 上。
-
如果你“以管理员身份运行”会发生什么