0

我创建了java应用程序。它适用于本地主机。但无法连接到远程服务器。这是我的代码

    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 毫秒前。驱动程序没有收到来自服务器的任何数据包。

我该如何解决这个问题。

4

2 回答 2

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());
    }

更改您的数据库名称和用户以及密码,然后就可以了

于 2013-04-28T09:14:28.447 回答
0

我认为服务器可能未配置为接受来自您的公共 IP 地址的请求。例如,在 cPanel 中,您需要“允许”从特定 IP 地址访问 MySQL。默认情况下只允许本地主机。您可能需要联系服务器管理员并请求允许您的 IP 访问 MySQL 服务器。

您绝对不是身份验证问题,否则您将收到身份验证失败响应。

您还可以尝试从任何 MySQL 客户端应用程序(例如 MySQL Workbench、SQLYog 等)连接到您的服务器来测试问题。

还要检查连接字符串中的 MySQL 服务器 IP 地址/名称是否正确,因为我们无法在此处确认。请咨询您的服务器管理员。

于 2013-04-28T09:14:36.743 回答