带有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?