2 tesonguo123 tesonguo123 于 2013.11.14 22:00 提问

Eclipse用JDBC连接不上MySql,求解决办法

使用JDBC的方法连接不上MySQL,我的网络是校园网,登陆后IP会变化,不知道这个对连接有没有什么影响,用的是mysql 5.6 以前用JDBC连接上过的,但是现在就不行了,不清楚原因,也在网上找过,但是找不到解决的办法,连接的JAR包是mysql-connector-java-5.1.26-bin.jar,请知道的大神解答一下小弟,还有就是使用Oracle用JDBC是连接得上的,使用的地址也是localhost,但是在用JDBC连接数据库查看的时候,在使用preparedStatement返回的genernatekeys无法使用getInt这个方法,所以想用mysql,因为视频教程中也是用MySQL的,并且是能用getInt这是方法的,所以想用mysql,麻烦各位大哥帮帮忙 出现的错误如下:
import java.sql.*;

public class TestMysqlConnection {
public static void main (String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","123456");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}

错误如下:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communication link failure, message from server: "Can't get hostname for your address"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2486)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestMysqlConnection.main(TestMysqlConnection.java:8)

4个回答

tesonguo123
tesonguo123   2013.11.15 09:13
已采纳

不好意思,已经找到了解决的方法了,是因为安装MySQL的时候,它的服务-登陆为:自动选择的是网络服务,修改为本地系统就可以了,谢谢大家的回答!

github_36704374
github_36704374 终于找到原因了
9 个月之前 回复
qq849852463
qq849852463   2017.03.17 09:04

这个问题我解决了,和楼主说的一样。方法如下:开始——运行(输入services.msc)——找到mysql服务——右键属性——登录——登录属性——选择本地系统——确定

Spring_Yang_Blue
Spring_Yang_Blue 我的也好了这是为什么呢?
4 个月之前 回复
qq_37786306
qq_37786306 真的好使了 感动
4 个月之前 回复
Spring_dong
Spring_dong   2013.11.14 23:02

错误的意思是无法找到,你连接地址的mysql数据库。请先确认mysql服务已启动,然后修改localhost为127.0.0.1试试。

morkzhou
morkzhou   2015.01.02 13:53

最近我也遇到这个问题,请LZ指点下,详细一点,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!