这里的新手,
我正在尝试将数据发送到AWS上的RDS。当我尝试从我的住所和附近的一所大专院校连接到数据库时,该程序便能够读取和写入MySQL数据库。当我在办公室或附近的大学中使用互联网时,无法连接...有什么想法吗?我尝试更改端口号,但似乎没有任何影响...
public int verifyPassword(string employeeName, string password)
{
string connStr = "server=endpointonAWS ;user=username;database=DB;port=2001;password=pswrd";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
Console.WriteLine("Connection Successful");
string sql = "INSERT INTO DB.employeeVerification (employeeName, password ) VALUES ('" + employeeName + "','" + password + "')";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
Console.WriteLine("Data Transfer Successful");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
答案 0 :(得分:1)
如果您可以从某些位置而不是其他位置进行连接,那么问题几乎可以肯定不在您的代码中,而是在网络中的某个地方。
我可以想到3个主要候选人:
DNS查找失败。检查是否可以在失败的位置将主机名解析为正确的IP地址。
出站筛选本地防火墙。一些企业和大学明确禁止非标准端口上的出站连接。如果不是HTTP或HTTPS,那么您可能会遇到问题。
AWS上的入站防火墙。
在3个DNS中,DNS最容易诊断,而出站筛选可能最难克服,因为如果您不属于网络管理团队,则可能无法访问防火墙规则。
您可以通过将HTTP Web服务放在目标计算机上的端口443上并尝试连接来测试出站防火墙块。如果它适用于HTTPS而不适用于其他端口,则可以合理地假设存在防火墙。