带有000webhost的Java mySQL

时间:2013-09-09 12:40:11

标签: 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是数据库,Users是表。请帮帮我。

4 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

DriverManager#getConnection()方法的javadoc表示:

  

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

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

答案 3 :(得分:0)

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

写一下

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]...

以下是一个示例连接网址:

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不允许您从外部应用程序连接,只允许从其域中托管的页面内部进行连接。

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