0

我正在尝试连接到我网站的 MySQL 数据库,但我不了解 PHP,所以我决定使用 JDBC。我遵循了一些视频教程(非 JDBC)并使用了他们的步骤。我跳过了 MAMP 步骤,因为我没有在我的 PC 上托管服务器。它在本地托管,因为它将成为一个更大的网站。

所以我在我的登录活动中输入了这段代码(你看到的第一个屏幕):

Connection connection = null;
    Statement statement = null;

    String username = "username";
    String password = "password";

    String dbURL = "jdbc:mysql://216.26.176.52:3306/lifesizefoto";

    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connection = DriverManager.getConnection(dbURL, username, password);
        statement = connection.createStatement();
        System.out.println("Connected.");
    } catch (ClassNotFoundException error) {
        System.out.println("Cannot connect");
    } catch (SQLException error) {
        System.out.println("Error: " + error.getMessage());
    } catch (InstantiationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        if (connection != null) { try {connection.close();} catch (SQLException ignore) {} }
        if (statement != null) { try {statement.close();} catch (SQLException ignore) {} }
    }

我已经尝试了 .getConnection() 语句的许多变体,但我无法弄清楚。我还联系了网站主机,他为我的 IP 关闭了所有防火墙,甚至为该应用程序打开了一个特殊端口。

当我运行我的应用程序时,我收到此错误:

    01-09 18:59:32.769: I/System.out(14178): Error: Communications link failure
01-09 18:59:32.769: I/System.out(14178): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

我将不胜感激任何帮助。提前谢谢你!

4

1 回答 1

0

两个想法:

  • 您网站的 MySQL 服务器不太可能绑定到外部接口 - 它可能只在 localhost 接口上侦听。您的托管服务提供商应该能够为您确认/可能解决该问题。

  • 从长远来看,尝试将移动应用程序直接连接到服务器数据库可能效果不佳 - 我建议您要么弄清楚如何编写服务器端应用程序(供您的移动应用程序连接) PHP,或找到​​您的主机支持的另一种语言,然后使用它。

于 2013-01-10T03:24:28.290 回答