带有000webhost的Java mySQL

我在000webhost上创建了一个mySQL数据库,我想把它连接到我的Java程序,但不知何故驱动程序没有接收套接字。 这是我的代码:

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

其中a4931569_users是数据库,用户是表。 请帮帮我。

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

请检查: 如何从我的计算机连接到MySQL?

请确保mysql2.000webhost.com URL允许指定用户的远程连接。 如果它允许则数据库驱动程序jar文件可能存在某些问题,或者它缺少数据库版本或与数据库版本不兼容。

由于DriverManager#getConnection()方法的javadoc说:

尝试建立与给定数据库URL的连接。

因此,从提供的URL中删除Users表名称,它应该工作。

请从连接字符串中删除表名。

写吧

 Connection conn = DriverManager.getConnection("jdbc:mysql://mysql2.000webhost.com/a4931569_users", username, pass); 

JDBC URL格式

MySQL Connector / J的JDBC URL格式如下,方括号([,])中的项是可选的:

 jdbc:mysql://[host][,failoverhost...][:port]/[database] » [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]... 

如果未指定主机名,则默认为127.0.0.1。 如果未指定端口,则默认为3306,即MySQL服务器的默认端口号。

 jdbc:mysql://[host:port],[host:port].../[database] » [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]... 

这是一个示例连接URL:

 jdbc:mysql://localhost:3306/sakila?profileSQL=true 

请参阅http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

编辑

的情况下

It says: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

你需要回答数学。

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

请检查: 如何从我的计算机连接到MySQL?