我正在尝试连接到我的网站的MySQL数据库,我不了解PHP,所以我决定使用JDBC。我关注了一些视频教程(非JDBC),并使用了他们的步骤。我跳过了MAMP步骤,因为我没有从我的电脑上托管服务器。它在本地托管,因为它将成为一个更大的网站。
所以我在我的登录活动(你看到的第一个屏幕)中输入了这个代码:
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.
我将不胜感激任何帮助。先谢谢你了!
答案 0 :(得分:0)
两个想法:
您的网站的MySQL服务器不太可能绑定到外部接口 - 它可能只在localhost接口上侦听。您的托管服务提供商应该能够确认/可能为您解决此问题。
从长远来看,尝试将移动应用程序直接连接到服务器数据库可能效果不佳 - 我建议您弄清楚如何编写服务器端应用程序(适用于您的移动设备)用PHP连接的应用程序,或找到主机支持的另一种语言,并在其中进行。