`

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

阅读更多
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></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的驱动程序有问题,换个驱动问题就解决了。(本人遇到的问题也是驱动问题,因为MYSQL是5.0版本,而驱动还是5.0以下版本,当然会出错,到网址:http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.6.zip/from/pick?file=Downloads/Connector-J/mysql-connector-java-5.0.6.zip&mirror=pick#mirrors上下载一个最 新的JDBC驱动就可以了--eric Kwoks)

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

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数据库,并且实现插入、删除、更新、选择操作.pdf

    Java 连接 MySql 数据库是 Java 程序员中非常常见的一种操作。通过使用 JDBC(Java Database Connectivity,Java 数据库连接)驱动程序,可以轻松地连接到 MySql 数据库,并实现插入、删除、更新、选择等操作。本文...

    java连接mysql数据库用到的jar包

    在给定的文件名称列表中,我们看到的是`mysql-connector-java-5.1.7.jar`,这是一个特定版本的MySQL连接器,用于允许Java应用程序与MySQL数据库进行通信。 MySQL Connector/J是MySQL官方提供的Java数据库连接器,它...

    Java连接MySql数据库

    在IT行业中,Java是一种广泛应用的编程语言,而MySQL则是最流行的开源关系型数据库管理系统之一。本文将详细探讨如何使用Java连接MySQL数据库,以及涉及到的相关知识点。 首先,Java连接MySQL数据库通常依赖于JDBC...

    浅谈Java中Mysql数据库的连接与操作.pdf

    连接MySQL数据库的步骤包括引入必要的java.sql包、加载JDBC驱动程序、创建数据库连接(Connection),以及创建数据库连接后进行操作。在Java代码中,这一过程大致如下: 1. 导入java.sql包; ```java import java....

    java连接mysql数据库驱动包

    Java连接MySQL数据库主要依赖于JDBC(Java Database Connectivity),它是一种让Java程序与各种数据库进行交互的标准接口。在Java中,我们通常会使用MySQL提供的驱动类来建立与MySQL数据库的连接。这个“java连接...

    Linxu下Java连接MySQL数据库

    在Linux环境下,使用Java连接MySQL数据库是常见的任务,主要涉及Java编程、数据库连接技术以及Linux操作。本篇文章将深入探讨如何在Linux系统中利用Java的JDBC(Java Database Connectivity)接口来实现与MySQL...

    javaservlet连接mysql数据库.pdf

    在了解Java Servlet连接MySQL数据库的过程中,我们将会涉及多个相关知识点,包括Java Servlet的基本概念、MySQL数据库基础、JDBC的使用,以及如何在Tomcat服务器上配置Servlet来连接MySQL数据库。 首先,Java ...

    java连接mysql数据库的三个不同的工具类

    在Java编程中,连接MySQL数据库是一项基础且重要的任务。这里我们关注的是三个不同的工具类,它们都是对JDBC(Java Database Connectivity)API的封装,旨在简化数据库操作。JDBC是Java标准库的一部分,允许Java应用...

    java备份mysql数据库

    标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...

    java连接MySql、SqlServer数据库实例

    首先,我们从Java连接MySQL数据库开始。MySQL是一种开源、免费的关系型数据库管理系统,它被广泛应用于Web应用开发。Java通过Java Database Connectivity (JDBC) API来与MySQL进行通信。要建立连接,你需要以下步骤...

    VB6.0连接MySQL数据库

    VB6.0作为一种已经较为老旧的开发工具,在与现代数据库如MySQL的配合使用时,虽然可以实现功能,但可能不如使用现代的开发语言和数据库技术(如.NET、Java EE配合SQL Server或Oracle)那样流畅。不过对于学习和特定...

    javaservlet连接mysql数据库可用.pdf

    连接 MySQL 数据库是 Java Servlet 中的一种常见操作。本文将详细讲解 Java Servlet 连接 MySQL 数据库的步骤和配置。 Java Servlet 连接 MySQL 数据库的优势 使用 Java Servlet 连接 MySQL 数据库可以提供动态的 ...

    java实现mysql数据库的表导出到excel文件

    在IT行业中,将数据库数据导出到Excel文件是一种常见的需求,尤其在数据分析、报表生成或者数据备份时。本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 ...

    Java连接MySQL的驱动包

    在Java编程中,连接MySQL数据库是一项基础且至关重要的任务。MySQL是一种广泛使用的开源关系型数据库管理系统,而Java作为跨平台的编程语言,提供了多种方式来与MySQL进行交互。在这个场景中,我们关注的是"Java连接...

    java mysql数据库的连接

    Java MySQL数据库连接是Java开发中常见的一项任务,用于在应用程序中与MySQL数据库进行交互,例如存储、检索或更新数据。JDBC(Java Database Connectivity)是Java平台中的一个标准API,它提供了一种统一的方式来...

    2024java连接mysql数据库的jar包.zip

    2024年的Java连接MySQL数据库的jar包是一种功能强大的工具,专门用于在Java应用程序中实现与MySQL数据库的连接和交互。这个jar包提供了高效的数据库访问能力,使开发人员能够轻松地执行各种数据库操作,包括查询、...

    Java连接MySql数据库入门操作.pdf

    Java连接MySQL数据库是一项基础但至关重要的技术操作,它涉及到编程语言Java与数据库管理系统MySQL之间的交互。本文档旨在为初学者提供入门级的操作指南,其中介绍了如何在Java程序中建立与MySQL数据库的连接,并...

Global site tag (gtag.js) - Google Analytics