3

我在 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

4 回答 4

8

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

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

于 2013-09-09T12:46:12.793 回答
1

请确保mysql2.000webhost.com URL 是否允许指定用户的远程连接。如果允许,那么数据库驱动程序 jar 文件可能会出现一些问题,或者它丢失或与数据库版本不兼容。

于 2013-09-09T13:01:32.303 回答
0

正如该方法的javadocDriverManager#getConnection()所说:

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

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

于 2013-09-09T12:43:22.157 回答
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]...

这是一个示例连接 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?

于 2013-09-09T12:44:32.317 回答