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.lang.ClassNotFoundException: com.mysql.jdbc.Driver(Servlet链接mysql数据库失败解决方法)

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 最近在学习java web,在服务器端servlet处理网页请求,然后将表单提交数...

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

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

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

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

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

0.要想用Java连接mysql数据库,首先装好JDK,配置好环境变量,将jdk*.*.*\lib放入classpath,将jdk*.*.*\bin放入path中(*.*.*表示版本号);其次安装好m...

MYSQL超时连接问题(com.mysql.jdbc.MysqlIO.readFully)

应用服务器连接mysql,有时候会出现以下异常: java.io.EOFException STACKTRACE: java.io.EOFException at com.mysq...

SQLyog 导入外部.sql数据库文件 导入没有反应解决

大学上课JavaWeb的时候,老师给了我们一个.sql数据库文件,为了让我们做一个登录注册练习。 回到宿舍之后,自己尝试着将其导入到SQLyog数据库管理工具,看下如何截图:自己新建了一个叫做”te...

Jquery 获取对象的几种方式

1、先讲讲JQuery的概念 JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScrip...

连接远程mysql数据库失败常见原因及解决办法

1. 没有开启 MySQL 的远程登陆帐号。1.找到mysql数据库的user表。在user表中新建一条数据,设置User(username)和Host(开放访问MySQL的IP:例如123.118....

mysql数据库中日期类型为datetime,而用mybatis映射失败,报java.sql.SQLException: Cannot convert value '0000-00-00 00:00:

环境:mysql数据库+mybatis mysql的某个字段为日期,它的类型用的是datetime。然后框架用mybatis,然后查询的时候进行映射操作是报 java.sql.SQLE...

Java提交到MySQL数据库出现乱码的原因

一、场景说明:              从前端提交数据到服务器端,服务器端处理后,提交数据到MySQL数据库。当前端提交的数据中包含中文字符时出现了乱码的问题。     二、尝试的解决方案:    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java连接MySQL数据库失败的一种可能原因
举报原因:
原因补充:

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