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中链接SQLServer数据库中失败的原因分析

关于在Java中链接SQLServer数据库
  • CH2JC
  • CH2JC
  • 2016-05-19 12:18:14
  • 2076

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

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import...
  • sinat_32363369
  • sinat_32363369
  • 2017-05-06 09:03:44
  • 2483

java连接数据库失败

Caused by: java.net.ConnectException: Connection timed out: connect com.mysql.jdbc.exceptions.jdbc4...
  • u013381034
  • u013381034
  • 2014-07-27 20:02:07
  • 215

使用jdbc连接数据库出现“到主机的TCP/ip连接失败”的解决办法

Jsp使用jdbc连接sqlserver 2005的问题 Java程序如下: package s2jsp.sg.ch03; import java.sql.*; public ...
  • u011572579
  • u011572579
  • 2014-04-23 17:14:37
  • 1957

【MySQL】解决JDBC无法成功连接MySQL5.7的问题

写在前面,笔者的个人主页近期升级了一下服务器,以前的VPS确实不行了,然后也就顺便用了最新版本也就是MySQL5.7,但是这个版本呢升级了很多安全策略,网上的资料(中文)也相对较少,之前因为安装这个M...
  • baofeidyz
  • baofeidyz
  • 2017-01-11 15:54:39
  • 5744

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

昨天看到了JDBC的那一章,要用到数据库,就百度了SQL下载安装了,安装完之后,才知道还要下载驱动,于是百度又下了mysql....jar的包,又搜索如何加入到项目中, 一切完成之后就开始加载去驱...
  • xinwen1995
  • xinwen1995
  • 2016-07-29 10:13:49
  • 2267

Java通过JDBC访问数据库(两种方式)

Java通过JDBC访问数据库(两种方式)     利用java语言访问数据库时可以采用JDBC,那么什么是JDBC呢?JDBC(Java Data Base Connectivity,java数据库...
  • wild46cat
  • wild46cat
  • 2016-03-19 15:26:15
  • 4233

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

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

Eclipse连接mysql数据库错误:Cannot create PoolableConnectionFactory

错误的含义是无法创建对数据库的连接后面一般还要带一个括号说明错误的具体内容我的说什么端口错误 后来经过证实是Eclipse中的Servers中的cnotext配置的问题,具体来总结一下以备以后有用。 ...
  • timebomb
  • timebomb
  • 2010-05-10 10:59:00
  • 18430

Eclipse连接到MYSQL数据库的操作

(自己亲测,开始学习Eclipse(我的Eclipse版本是4.5.2,Jdbc驱动器的jar包版本是5.1.7,亲测可以使用)连接到数据库的时候,发现网上有好多经验,但是发现网上的出现很多错误,故此...
  • sunbai123
  • sunbai123
  • 2017-12-05 20:05:11
  • 157
收藏助手
不良信息举报
您举报文章:Java连接MySQL数据库失败的一种可能原因
举报原因:
原因补充:

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