Java连接MySQL数据库失败的一种可能原因

原创 2007年10月19日 14:15:00

 Java连接MySQL数据库失败的一种可能原因

    今天写了个java访问MySQL数据库的程序,发现总是连接失败,报以下异常:

 Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream


** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
 at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096)
 at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:626)
 at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
 at com.mysql.jdbc.Connection.<init>(Connection.java:491)
 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
 at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
 at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
 at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
 at org.apache.tools.ant.Task.perform(Task.java:364)
 at org.apache.tools.ant.Target.execute(Target.java:341)
 at org.apache.tools.ant.Target.performTasks(Target.java:369)
 at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
 at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
 at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
 at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
 at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
 at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
 at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)


** END NESTED EXCEPTION **

      后来在这里发现这是由于我使用的mysql的驱动程序有问题,换个驱动问题就解决了。

另外下面的异常也可能是这个原因:

java.sql.SQLException
MESSAGE: Communication link failure: java.io.EOFException, underlying cause: null

** BEGIN NESTED EXCEPTION **

java.io.EOFException

STACKTRACE:

java.io.EOFException
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1394)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1538)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1929)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2251)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1772)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1619)


** END NESTED EXCEPTION **


        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1713)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1929)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2251)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1772)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1619)

 

注意: 这篇文章说用户名和密码错误,应该不是这个问题的原因;

java连接mysql数据库的详细步骤

java连接mysql数据库的详细步骤 连接说明: a、mysql连接的驱动 b、mysql数据库的安装 c、eclipse e、数据库服务是否打开(控制面板——管理工具——服务——找...
  • huwentao0305
  • huwentao0305
  • 2016年11月28日 15:48
  • 12224

关于在Java中链接SQLServer数据库中失败的原因分析

关于在Java中链接SQLServer数据库
  • CH2JC
  • CH2JC
  • 2016年05月19日 12:18
  • 1576

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver(Servlet链接mysql数据库失败解决方法)

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 最近在学习java web,在服务器端servlet处理网页请求,然后将表单提交数...
  • qq_20916555
  • qq_20916555
  • 2015年11月03日 12:48
  • 4707

mysql 一个被误导的错误: mysql jdbc连接,数据库ip变成了本地ip?

mysql 一个被误导的错误:   mysql jdbc连接,数据库ip变成了本地ip?   java.sql.SQLException: Access denied foruser 'bti...
  • pianistOfSoftware
  • pianistOfSoftware
  • 2016年07月14日 14:46
  • 1311

在jsp中使用JDBC连接mysql数据库出现错误

在jsp中连接mysql数据库时产生的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题        这个问题又浪费了我一晚上的时间...
  • qq_30567891
  • qq_30567891
  • 2017年06月16日 22:50
  • 406

Java连接mysql中遇到的一些问题及解决方法

0.要想用Java连接mysql数据库,首先装好JDK,配置好环境变量,将jdk*.*.*\lib放入classpath,将jdk*.*.*\bin放入path中(*.*.*表示版本号);其次安装好m...
  • zdf19931993
  • zdf19931993
  • 2016年05月03日 20:38
  • 13173

java连接MySQL数据库时常见故障问题的分析与解决

初学的mysql经常会碰到mysql无法连接的错误。收集的这样问题的现象和原因。   先自己扔块砖头出来。   归纳如下: 更改mysql root账号密码 mysql> SE...
  • u013569416
  • u013569416
  • 2014年05月04日 22:33
  • 1817

jdbc连接数据库基本步骤以及错误总结

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import...
  • sinat_32363369
  • sinat_32363369
  • 2017年05月06日 09:03
  • 1553

jdbc连接数据库出现的问题,Statement一直为null

首先描述问题的情况,本来服务端程序在服务器上可以正常运行,但是经过重装服务器上的数据库之后,修改服务端连接数据库的代码,user  password url 之后一直还是报null的错误。简单说就是在...
  • sky_918
  • sky_918
  • 2016年09月21日 11:13
  • 775

关于在Java中链接SQLServer数据库中失败的原因分析

关于在Java中链接SQLServer数据库
  • CH2JC
  • CH2JC
  • 2016年05月19日 12:18
  • 1576
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java连接MySQL数据库失败的一种可能原因
举报原因:
原因补充:

(最多只允许输入30个字)