在000webhost中连接到mysql时出现异常

时间:2014-01-22 14:42:51

标签: java mysql

我在000webhost.com上创建了一个数据库,现在我试图通过java连接到数据库:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://mysql14.000webhost.com/a2509514_Email", username, pass);

但是当我执行它时,我得到以下异常:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 
** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection timed out: connect

STACKTRACE:

java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:215)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at trapack.Experiment.sample(Experiment.java:20)
at trapack.Experiment.main(Experiment.java:35)


** END NESTED EXCEPTION **



Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at trapack.Experiment.sample(Experiment.java:20)
at trapack.Experiment.main(Experiment.java:35)

没有直接讨论这个特定主题,所以任何帮助都会非常感激。

3 个答案:

答案 0 :(得分:0)

当我在AWS(亚马逊网络服务 - 云计算)中使用MySQL时,我遇到了类似的问题

我必须在网站(AWS)中授予我的计算机IP权限。

我建议您使用http://www.heidisql.com/测试是否可以在000webhost中连接到您的数据库。如果您成功了,那么错误就在您的Java代码中,如果您无法连接,则可能是您的凭据,主机站点的安全配置或您在那里的可怕连接链接。

向我们提供有关您的问题的更多信息,以便我们为您提供帮助。

答案 1 :(得分:0)

创建用户时使用000webhost提供的连接字符串。

000webhost.com为创建连接创建自己的字符串或主机名。

希望它能奏效。 感谢

答案 2 :(得分:0)

答案是您必须升级您的帐户。

来自000webhost的免费MySQL不允许您从外部应用程序连接,只允许从其域中托管的页面内部进行连接。

请检查:How can I connect to MySQL from my computer?