我创建了java应用程序。它适用于localhost。但无法连接到远程服务器。 这是我的代码
public Connection getDBConnection() throws Exception {
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://192.168.0.101:8081/mydb", "user", "password");
return conn;
}
我使用的是jdbc驱动程序。
但我收到了错误消息
Communications link failure
成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。
我该如何解决这个问题。
答案 0 :(得分:0)
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=dbname;user=1111;password=1111;";
Connection con = DriverManager.getConnection(connectionUrl);
} catch (SQLException e) {
System.out.println("SQL Exception: "+ e.toString());
} catch (ClassNotFoundException cE) {
System.out.println("Class Not Found Exception: "+ cE.toString());
}
更改您的数据库名称和用户及密码,然后转到
答案 1 :(得分:0)
我认为服务器可能未配置为接受来自您的公共IP地址的请求。例如,在cPanel中,您需要“允许”从特定IP地址访问MySQL。默认情况下,仅允许localhost。您可能需要联系服务器管理员并请求允许您访问MySQL服务器。
您绝对不是身份验证问题,否则您将收到身份验证失败响应。
您还可以尝试从任何MySQL客户端应用程序连接到您的服务器,例如MySQL Workbench,SQLYog等来测试这个问题。
同时检查连接字符串中的MySQL服务器IP地址/名称是否正确,因为我们无法在此确认。请与您的服务器管理员一起检查。